
//
// @(#)btyaccpar, based on byacc 1.8 (Berkeley)
// Parser skeleton modified for use in the Firebird project by Nickolay Samofatov
//
#define YYBTYACC 1

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "dsql.tab.h"
#include "Parser.h"

#define YYERROR_DETAILED

/*
*	PROGRAM:	Dynamic SQL runtime support
*	MODULE:		parse.y
*	DESCRIPTION:	Dynamic SQL parser
*
* The contents of this file are subject to the Interbase Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy
* of the License at http://www.Inprise.com/IPL.html
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
* or implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code was created by Inprise Corporation
* and its predecessors. Portions created by Inprise Corporation are
* Copyright (C) Inprise Corporation.
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
*
* 2002-02-24 Sean Leyne - Code Cleanup of old Win 3.1 port (WINDOWS_ONLY)
* 2001.05.20 Neil McCalden: Allow a udf to be used in a 'group by' clause.
* 2001.05.30 Claudio Valderrama: DROP TABLE and DROP VIEW lead now to two
*   different node types so DDL can tell which is which.
* 2001.06.13 Claudio Valderrama: SUBSTRING is being surfaced.
* 2001.06.30 Claudio valderrama: Feed (line,column) for each node. See node.h.
* 2001.07.10 Claudio Valderrama: Better (line,column) report and "--" for comments.
* 2001.07.28 John Bellardo: Changes to support parsing LIMIT and FIRST
* 2001.08.03 John Bellardo: Finalized syntax for LIMIT, change LIMIT to SKIP
* 2001.08.05 Claudio Valderrama: closed Bug #448062 and other spaces that appear
*   in rdb$*_source fields when altering domains plus one unexpected null pointer.
* 2001.08.12 Claudio Valderrama: adjust SUBSTRING's starting pos argument here
*   and not in gen.c; this closes Bug #450301.
* 2001.10.01 Claudio Valderrama: enable explicit GRANT...to ROLE role_name.
* 2001.10.06 Claudio Valderrama: Honor explicit USER keyword in GRANTs and REVOKEs.
* 2002.07.05 Mark O'Donohue: change keyword DEBUG to KW_DEBUG to avoid
*			clashes with normal DEBUG macro.
* 2002.07.30 Arno Brinkman:
* 2002.07.30 	Let IN predicate handle value_expressions
* 2002.07.30 	tokens CASE, NULLIF, COALESCE added
* 2002.07.30 	See block < CASE expression > what is added to value as case_expression
* 2002.07.30 	function is split up into aggregate_function, numeric_value_function, string_value_function, generate_value_function
* 2002.07.30 	new group_by_function and added to grp_column_elem
* 2002.07.30 	cast removed from function and added as cast_specification to value
* 2002.08.04 Claudio Valderrama: allow declaring and defining variables at the same time
* 2002.08.04 Dmitry Yemanov: ALTER VIEW
* 2002.08.06 Arno Brinkman: ordinal added to grp_column_elem for using positions in group by
* 2002.08.07 Dmitry Yemanov: INT64/LARGEINT are replaced with BIGINT and available in dialect 3 only
* 2002.08.31 Dmitry Yemanov: allowed user-defined index names for PK/FK/UK constraints
* 2002.09.01 Dmitry Yemanov: RECREATE VIEW
* 2002.09.28 Dmitry Yemanov: Reworked internal_info stuff, enhanced
*							exception handling in SPs/triggers,
*							implemented ROWS_AFFECTED system variable
* 2002.10.21 Nickolay Samofatov: Added support for explicit pessimistic locks
* 2002.10.29 Nickolay Samofatov: Added support for savepoints
* 2002.12.03 Dmitry Yemanov: Implemented ORDER BY clause in subqueries.
* 2002.12.18 Dmitry Yemanov: Added support for SQL-compliant labels and LEAVE statement
* 2002.12.28 Dmitry Yemanov: Added support for parametrized events.
* 2003.01.14 Dmitry Yemanov: Fixed bug with cursors in triggers.
* 2003.01.15 Dmitry Yemanov: Added support for runtime trigger action checks.
* 2003.02.10 Mike Nordell  : Undefined Microsoft introduced macros to get a clean compile.
* 2003.05.24 Nickolay Samofatov: Make SKIP and FIRST non-reserved keywords
* 2003.06.13 Nickolay Samofatov: Make INSERTING/UPDATING/DELETING non-reserved keywords
* 2003.07.01 Blas Rodriguez Somoza: Change DEBUG and IN to avoid conflicts in win32 build/bison
* 2003.08.11 Arno Brinkman: Changed GROUP BY to support all expressions and added "AS" support
*						   with table alias. Also removed group_by_function and ordinal.
* 2003.08.14 Arno Brinkman: Added support for derived tables.
* 2003.10.05 Dmitry Yemanov: Added support for explicit cursors in PSQL.
* 2004.01.16 Vlad Horsun: added support for default parameters and
*   EXECUTE BLOCK statement
* Adriano dos Santos Fernandes
*/

#include "firebird.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../jrd/common.h"
#include <stdarg.h>

#include "gen/iberror.h"
#include "../dsql/dsql.h"
#include "../dsql/node.h"
#include "../jrd/ibase.h"
#include "../jrd/flags.h"
#include "../jrd/jrd.h"
#include "../dsql/errd_proto.h"
#include "../dsql/hsh_proto.h"
#include "../dsql/make_proto.h"
#include "../dsql/keywords.h"
#include "../dsql/misc_func.h"
#include "../jrd/gds_proto.h"
#include "../jrd/err_proto.h"
#include "../jrd/intlobj_new.h"
#include "../common/StatusArg.h"

/* since UNIX isn't standard, we have to define
  stuff which is in <limits.h> (which isn't available
  on all UNIXes... */

const long SHRT_POS_MAX			= 32767;
const long SHRT_UNSIGNED_MAX	= 65535;
const long SHRT_NEG_MAX			= 32768;
const long LONG_POS_MAX			= 2147483647;
const int POSITIVE	= 0;
const int NEGATIVE	= 1;
const int UNSIGNED	= 2;

/*const int MIN_CACHE_BUFFERS	= 250;*/
/*const int DEF_CACHE_BUFFERS	= 1000;*/

/* Fix 69th procedure problem - solution from Oleg Loa */
#define YYSTACKSIZE	2048
#define YYMAXDEPTH	2048

/* Make bison allocate static stack */
#define YYINITDEPTH 2048

/* Using this option causes build problems on Win32 with bison 1.28*/
/*#define YYSTACK_USE_ALLOCA 1*/

#define YYSTYPE YYSTYPE
#if defined(DEBUG) || defined(DEV_BUILD)
#define YYDEBUG		1
#endif

#define YYMALLOC gds__alloc
#define YYFREE gds__free

static const char INTERNAL_FIELD_NAME[] = "DSQL internal"; /* NTX: placeholder */

inline SLONG trigger_type_suffix(const int slot1, const int slot2, const int slot3)
{
	return ((slot1 << 1) | (slot2 << 3) | (slot3 << 5));
}


#include "../dsql/chars.h"

const int MAX_TOKEN_LEN = 256;

using namespace Jrd;
using namespace Dsql;
using namespace Firebird;

#ifdef NOT_USED_OR_REPLACED
static bool		long_int(dsql_nod*, SLONG*);
#endif
static dsql_fld*	make_field (dsql_nod*);
static dsql_fil*	make_file();
#ifdef NOT_USED_OR_REPLACED
static bool	short_int(dsql_nod*, SLONG*, SSHORT);
#endif
static void	stack_nodes (dsql_nod*, DsqlNodStack&);
static Firebird::MetaName toName(dsql_nod* node);

static void	yyabandon (SLONG, ISC_STATUS);

inline void check_bound(const char* const to, const char* const string)
{
	if ((to - string) >= MAX_TOKEN_LEN)
		yyabandon (-104, isc_token_too_long);
}

inline void check_copy_incr(char*& to, const char ch, const char* const string)
{
	check_bound(to, string);
	*to++ = ch;
}

static int yylhs[] = {                                        -1,
    0,    0,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,   11,   11,   11,   26,   26,
   25,   25,   25,   36,   36,   31,   37,   37,   37,   37,
   37,   29,   29,   35,   35,   30,   30,   39,   39,   40,
   32,   17,   17,   17,   17,   43,   43,   44,   44,   28,
   28,   45,   45,   45,   45,   47,   47,   47,   47,   46,
   46,   48,   48,   48,   33,   33,   53,   34,   34,   41,
   41,    8,   54,   54,   56,   61,   61,   61,   58,   58,
   58,   65,   65,   66,   68,   68,   68,   68,   59,   59,
   69,   69,   70,   70,   70,   70,   70,   55,   72,   72,
    6,   75,   75,   75,   75,   75,   75,   75,   75,   75,
   75,   75,   75,   75,   75,   75,   16,   93,   93,   93,
   93,   93,   93,    7,  100,  100,  100,  100,   76,   99,
  104,  106,   77,   77,   80,   80,   80,   89,  113,  113,
  113,  114,  114,  115,  115,  116,  116,  120,  120,   88,
  123,  123,  128,  125,  125,  126,  126,  131,  131,  132,
  133,  133,  134,  135,   86,   90,   91,  140,  140,  140,
  141,  141,  143,  143,  144,  144,  144,  145,  145,  146,
  146,  147,  147,  142,  142,  148,   87,  117,  117,  149,
  150,  150,  152,  152,  153,  153,  153,  153,  153,  151,
  151,  154,  154,  155,  155,  155,  155,  121,  156,  157,
  157,  158,  158,  159,  159,  160,  160,  160,  119,  119,
  119,   82,   95,   83,   96,  163,  163,  163,  161,  161,
  161,  162,  162,  164,  164,  165,  165,  165,  170,  171,
  171,  109,  109,  167,  167,  127,  127,  122,  173,  174,
  174,  174,  174,   67,  129,  129,  129,  129,  129,  129,
  168,  168,  182,  182,  183,  185,  185,  185,  185,  185,
  166,  184,  184,  188,  188,  188,  188,  190,  191,  192,
  187,  187,  186,  186,  186,  186,  186,  193,  194,  195,
  195,  195,  195,   81,   94,  101,  201,  196,  196,  197,
  197,  202,  202,  204,  203,  203,  207,  206,  206,  206,
  199,  199,  208,  208,  209,  213,  213,  214,  212,  212,
  215,  217,  217,  200,  219,  219,  219,  220,  220,  218,
  218,  210,  211,  222,  222,  222,  222,  222,  222,  222,
  222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
  222,  223,  223,  223,  223,  223,  234,  229,  229,  230,
  237,  226,  227,  238,  242,  242,  242,  244,  244,  246,
  245,  245,  248,  243,  243,  249,  249,  250,  250,  250,
  250,  250,  250,  251,  251,  252,  253,  254,  255,  255,
  256,  235,  235,  231,  257,  225,  258,  240,  240,  240,
  240,  236,  239,  239,  233,  233,  233,  241,  241,  221,
  221,  261,  262,  262,  263,  263,  263,  263,  232,  232,
  232,  265,  267,  266,  268,   14,  269,  269,  269,  270,
  270,  270,   15,  272,  272,  273,  273,  274,   85,   97,
  103,  278,  198,  110,  112,  130,  277,  277,   84,   84,
   84,   98,   98,   98,  102,  102,  102,  279,  279,  279,
  280,  280,  285,  285,  285,  285,  285,  283,  283,  284,
  284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
  284,  284,  284,  284,  281,  281,  282,    2,  287,  287,
  287,  287,  287,  287,  287,  287,  287,  287,  287,  287,
  287,  293,  293,  299,  299,  299,  299,  299,  299,  299,
  288,  288,  300,  300,  300,  300,  300,  300,  300,  300,
  300,  300,  300,  292,  305,  305,  305,  305,  305,  305,
  305,  305,  305,  305,  305,  305,  305,  305,  305,  305,
  305,  305,  305,  305,  305,  305,  305,  305,  305,  305,
  305,  305,  305,  305,  305,  305,  305,  305,  305,  305,
  305,  305,  305,  305,  305,  305,  305,  305,  305,  305,
  305,  305,  305,  305,  302,  302,  304,  304,  303,  301,
  301,  301,  294,  294,  295,  295,  295,  296,  297,  310,
  310,  308,  308,  309,  309,  290,  291,  291,  311,  311,
  311,  311,  311,  289,  312,  312,  313,  313,   10,  314,
  314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
  314,  314,  314,  314,  124,  124,  205,  205,  319,  319,
  320,  320,  320,  169,  169,  318,  318,  323,  323,  325,
  325,   62,   62,  322,  322,  322,  322,  322,  322,  322,
  322,  322,  329,  329,  321,  321,  321,  321,  331,  331,
  330,  330,  330,   64,   64,  326,  326,  326,  324,  324,
  324,  335,  335,  335,  334,  334,  333,  333,  333,  327,
  327,  336,  336,  336,  337,  337,  328,  328,  328,  328,
  338,  338,   21,   21,   21,  340,  340,  340,   19,   19,
   19,  342,  343,  346,  346,  344,  348,  348,    5,   24,
   18,  347,  347,  349,  349,  350,  350,  339,  351,  351,
  352,  352,  353,  353,  353,  353,  353,  353,  354,  354,
  355,  355,  356,  356,  360,  360,  360,  361,  361,  361,
  362,  362,  362,  357,  357,  357,  358,  359,  364,  364,
  364,  365,  365,  363,  363,  366,  368,  368,  367,  367,
  341,    4,    4,    4,  369,  371,  371,  371,  371,  371,
  371,  371,  371,  371,  371,  371,  371,  371,  371,  373,
  373,  374,  370,  370,   20,  375,  375,  377,  377,  376,
  376,  276,  378,  378,  378,  382,  382,  383,  386,  387,
  379,  379,  379,  388,  390,  391,  391,  391,  391,  399,
  399,  399,  400,  400,  400,  392,  392,  393,  393,  402,
  402,  403,  403,  404,  404,  394,  406,  406,  407,  407,
  409,  409,  409,  411,  412,  412,  385,  385,  413,  413,
  408,  408,  408,  414,  415,  416,  418,  418,  419,  420,
  410,  410,  421,  421,  422,  422,   27,  417,  417,  417,
  417,  417,  423,  423,  396,  396,  424,  424,  425,  397,
  397,  395,  395,  398,  398,  426,  427,  427,  427,  427,
  427,  428,  428,  429,  429,  430,  430,  431,  431,  431,
  432,  432,  433,  433,  380,  380,  434,  434,  435,   78,
   78,   78,  436,  436,  437,  437,  381,  381,  381,   12,
   12,   12,   13,  440,  440,  440,  440,  441,  442,  443,
  444,    9,    9,  446,  447,   22,   22,  449,  450,   23,
  451,  451,  439,  439,  439,  448,  445,  445,  224,  228,
  228,    3,    3,  456,  456,  456,  458,  458,  459,  457,
  457,  460,  460,   38,   38,  108,  107,  107,  438,  438,
  452,  461,  461,  259,  259,  259,  172,  453,  453,  136,
  136,  136,  136,  462,  462,  462,  462,  462,  462,  462,
  462,  462,  462,  462,  462,  462,  462,  463,  463,  463,
  463,  463,  463,  463,  463,  469,  469,  469,  469,  469,
  469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
  469,  476,  476,  464,  464,  465,  465,  466,  466,  466,
  466,  467,  467,  471,  471,  472,  472,  472,  472,  473,
  473,  473,  473,  470,  474,  468,  468,  475,  475,  475,
  477,  477,  478,   92,  298,  298,  317,  479,  484,  484,
  480,  480,  481,  481,  482,  482,  485,  485,  485,  483,
  483,  486,  487,  111,  111,  111,  111,  111,  111,  111,
  111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
  111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
  111,  181,  181,  181,  494,  494,  488,  495,  495,  271,
  271,  176,  176,  496,  496,  496,  496,  496,  490,  490,
  490,  490,  490,  275,  177,  177,  178,  179,  179,  179,
  179,  179,  179,   60,   60,   74,   74,  286,  497,   63,
  332,  307,  307,  118,  489,  489,  455,  455,  455,  498,
  498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
  498,  498,  502,  502,  499,  499,  503,  504,  504,  504,
  506,  507,  507,  508,  501,  501,  509,  509,  509,  509,
  509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
  509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
  509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
  509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
  509,  509,  509,  510,  510,  510,  510,  510,  510,  510,
  500,  500,  500,  500,  511,  513,  513,  512,  512,  512,
  512,  514,  514,  514,  454,  454,  491,  492,  492,  516,
  516,  516,  516,  516,  517,  517,  519,  519,  522,  522,
  520,  520,  525,  525,  524,  521,  523,  518,  518,  493,
  493,  505,  505,  505,  505,  505,  505,  505,  505,  505,
  505,  401,  401,  389,  389,  180,  515,   57,   73,  139,
  138,  175,  189,  216,  316,  105,   71,  264,  137,   79,
  405,  260,  372,   42,   51,  384,  315,   49,   52,  247,
   50,  345,  306,  306,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,  526,  526,  526,  526,  526,  526,
  526,  526,  526,  526,
};
static int yylen[] = {                                         2,
    1,    2,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    9,    9,    6,    1,    0,
    1,    2,    1,    1,    3,    1,    1,    1,    1,    2,
    2,    3,    0,    3,    0,    2,    0,    2,    1,    1,
    1,    9,    9,    6,    6,    3,    0,    3,    0,    1,
    1,    1,    3,    3,    3,    2,    2,    2,    2,    1,
    3,    1,    2,    2,    1,    3,    1,    1,    3,    1,
    2,    2,    2,    3,    8,    1,    1,    5,    0,    1,
    3,    1,    3,    3,    0,    2,    2,    1,    1,    3,
    3,    2,    0,    2,    2,    1,    3,    9,    1,    1,
    2,    2,    7,    2,    2,    4,    2,    2,    2,    2,
    2,    2,    2,    2,    2,    2,    2,    2,    2,    4,
    2,    2,    2,    4,    2,    2,    2,    2,    2,    2,
    2,    2,    1,    0,    1,    1,    6,    6,    1,    1,
    0,    0,    1,    0,    4,    0,    1,    1,    2,    6,
    1,    0,    4,    1,    0,    1,    0,    1,    2,    1,
    1,    1,    2,    6,    1,    1,    6,    2,    5,    0,
    0,    1,    1,    2,    1,    1,    1,    2,    2,    2,
    2,    2,    2,    0,    1,    5,    3,    0,    1,    1,
    0,    1,    1,    2,    3,    4,    2,    2,    3,    0,
    1,    1,    2,    1,    4,    6,    3,    3,    1,    0,
    1,    1,    2,    3,    4,    0,    1,    2,    0,    1,
    1,    5,    5,    5,    5,    4,    4,    0,    3,    2,
    0,    1,    3,    1,    1,    5,    3,    2,    6,    1,
    3,    2,    1,    1,    1,    2,    0,    1,    1,    2,
    3,    6,    1,    0,    1,    1,    1,    1,    1,    1,
    0,    1,    1,    2,    2,    1,    1,    5,    2,    3,
    2,    2,    0,    1,    1,    1,    1,    3,    4,    8,
    4,    0,    1,    1,    2,    2,    0,    3,    3,    1,
    2,    2,    2,    8,    8,    8,    8,    3,    0,    4,
    0,    1,    3,    4,    1,    3,    3,    4,    4,    0,
    1,    0,    1,    2,    6,    1,    1,    4,    1,    0,
    6,    1,    1,    5,    1,    2,    0,    1,    2,    4,
    3,    0,    0,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    5,    2,    3,    1,
    8,    4,    6,   10,    1,    6,    6,    1,    3,    3,
    1,    3,    1,    1,    0,    2,    1,    1,    1,    1,
    1,    1,    1,    5,    3,    3,    2,    2,    3,    3,
    3,    8,    6,    3,    0,    3,    2,    1,    1,    3,
    3,    7,    2,    0,    1,    1,    2,    3,    0,    1,
    2,    4,    1,    3,    2,    2,    2,    1,    1,    1,
    1,    2,    2,    5,    0,    5,    1,    3,    0,    2,
    4,    0,    7,    3,    0,    1,    3,    3,    7,    7,
    7,    7,    0,    0,    0,    0,    3,    0,    6,    8,
    8,    6,    8,    8,    6,    8,    8,    1,    1,    0,
    2,    2,    1,    1,    2,    2,    2,    1,    1,    1,
    1,    1,    3,    3,    3,    3,    3,    3,    5,    5,
    5,    5,    5,    5,    2,    0,    4,    2,    2,    3,
    2,    2,    2,    3,    3,    2,    2,    3,    2,    2,
    3,    1,    2,    2,    3,    2,    2,    2,    2,    3,
    1,    3,    3,    3,    2,    2,    4,    4,    4,    5,
    3,    4,    4,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    2,    1,    1,    1,    1,
    1,    0,    2,    2,    4,    4,    5,    3,    5,    1,
    1,    2,    0,    2,    0,    0,    1,    2,    2,    4,
    3,    2,    2,    7,    1,    0,    1,    0,    2,    2,
    2,    2,    2,    2,    2,    2,    2,    3,    2,    2,
    2,    2,    2,    2,    1,    1,    1,    3,    1,    1,
    3,    6,    1,    1,    1,    4,    5,    1,    3,    1,
    3,    1,    2,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    4,    4,    6,    5,    3,    0,
    2,    2,    0,    3,    0,    4,    1,    5,    4,    1,
    4,    1,    2,    2,    1,    1,    1,    2,    2,    2,
    2,    0,    3,    5,    1,    1,    2,    3,    1,    2,
    3,    0,    1,    1,    1,    5,    5,    6,    1,    1,
    1,    2,    4,    1,    0,    5,    1,    0,    3,    1,
    3,    1,    0,    2,    0,    1,    0,    3,    1,    0,
    1,    2,    1,    1,    1,    1,    1,    1,    2,    2,
    1,    2,    3,    1,    1,    3,    3,    1,    2,    3,
    1,    2,    0,    3,    2,    2,    3,    2,    1,    1,
    0,    1,    1,    1,    3,    2,    3,    0,    1,    3,
    4,    5,    6,    7,    1,    1,    1,    1,    1,    1,
    2,    1,    1,    1,    1,    1,    1,    2,    1,    1,
    1,    2,    1,    1,    3,    3,    0,    2,    0,    2,
    0,    4,    3,    2,    0,    1,    3,    6,    4,    4,
    1,    4,    4,    1,    9,    2,    1,    1,    0,    2,
    4,    2,    2,    4,    2,    1,    1,    1,    1,    1,
    3,    1,    3,    1,    0,    2,    1,    3,    1,    1,
    1,    1,    3,    6,    1,    0,    3,    0,    1,    3,
    1,    1,    1,    4,    5,    5,    1,    1,    2,    4,
    4,    2,    3,    0,    1,    3,    1,    1,    2,    2,
    2,    0,    1,    0,    3,    0,    1,    3,    1,    2,
    0,    2,    0,    2,    0,    4,    1,    2,    1,    1,
    0,    1,    3,    2,    1,    1,    2,    1,    4,    3,
    1,    3,    4,    0,    3,    0,    1,    3,    3,    1,
    1,    0,    2,    0,    1,    1,    2,    4,    0,    9,
    6,    6,    8,    2,    2,    1,    1,    4,    5,    3,
    6,    1,    1,    8,    4,    1,    1,    9,    5,   12,
    2,    0,    2,    4,    0,    4,    1,    3,    3,    1,
    1,    7,    7,    5,    3,    0,    1,    1,    1,    2,
    0,    1,    1,    1,    0,    3,    1,    3,    1,    0,
    3,    1,    3,    1,    3,    3,    1,    1,    3,    1,
    3,    3,    2,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    3,    3,    3,    3,
    3,    3,    3,    3,    3,    6,    6,    6,    6,    6,
    6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
    6,    1,    1,    5,    6,    5,    6,    3,    4,    5,
    6,    3,    4,    3,    4,    4,    5,    6,    7,    3,
    4,    4,    5,    4,    4,    3,    4,    1,    1,    1,
    1,    3,    3,    6,    6,    7,    1,    2,    1,    0,
    2,    0,    2,    0,    2,    0,    1,    1,    0,    1,
    0,    3,    3,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    2,    2,    3,    3,    3,    3,    3,
    3,    3,    3,    1,    1,    1,    1,    3,    1,    1,
    1,    1,    2,    2,    3,    0,    4,    1,    0,    1,
    3,    1,    2,    1,    1,    1,    1,    1,    1,    1,
    2,    2,    2,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    2,    1,    2,    1,    1,    1,
    1,    1,    2,    1,    1,    1,    1,    1,    1,    4,
    5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    6,    6,    2,    0,    1,    1,    6,    1,    1,    1,
    4,    4,    4,    4,    4,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    7,    8,    8,    8,   10,    8,    6,
    1,    1,    4,    4,    7,    2,    0,    7,    6,    6,
    4,    1,    1,    1,    4,    3,    6,    1,    1,    6,
    8,    6,    6,    8,    1,    1,    4,    6,    4,    5,
    3,    5,    4,    5,    1,    1,    1,    3,    5,    4,
    6,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    0,    1,    0,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,
};
static int yydefred[] = {                                      0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  720,    0,    0,    3,    4,    5,    6,    7,    8,    9,
   10,   11,   12,   13,   14,   15,   16,   17,   18,   19,
   20,   21,   22,   23,   24,   25,    0,  703,  704,  705,
  709,  710,  711,    0,  932,  933,  936,  937,    0,  606,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  498,  722,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  143,    0,    0,    0,    0,    0,    0,
  111,    0,    0,    0,   82,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  619,    0,    0, 1426, 1427,    0, 1428, 1429, 1430,
 1431, 1432, 1433, 1434, 1435, 1436,   39, 1437, 1438, 1439,
 1440, 1441,   36, 1442, 1444, 1445, 1446, 1447, 1448,   38,
 1449, 1450, 1443, 1451, 1452, 1453, 1454, 1455, 1456, 1457,
 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465,    0, 1466,
 1467, 1468,   37, 1469, 1470, 1471, 1472, 1473, 1474, 1475,
 1476, 1477, 1478, 1479, 1480, 1481,    0, 1482, 1483, 1484,
 1313, 1315, 1316, 1317, 1318, 1319, 1320, 1341, 1342, 1321,
 1323, 1322, 1334, 1335, 1328, 1324, 1329, 1325, 1327, 1330,
 1326, 1331, 1332, 1333, 1337, 1338, 1336, 1339, 1340, 1344,
 1343, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353,
 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373,
 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383,
 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413,
 1419, 1415, 1414, 1416, 1417, 1418, 1420, 1421, 1422, 1423,
 1424, 1425,    0,    0,    0,    0,   34,   77,   75, 1305,
 1314,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  865, 1307,    0,    0,    0,
 1306,  804,    0,    0,    0,    0,    0,    0,    0,    0,
  127, 1312,  712,    0,    0,    2,    0,    0,    0,    0,
  811,  814,    0,    0,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,  548,  549,  550,  551,
  552,  553,  554,  555,  556,  564,  558,  559,  557,  560,
  561,  562,  563,  565,  567,  570,  566,  568,  569,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,  581,
  582,  583,  584,    0,  534,  535,    0,  499, 1296,    0,
    0,  506, 1300,    0,  503, 1304,    0,  867,    0,  502,
 1308,    0,  510, 1309,    0,  501, 1311,    0,  509,    0,
  507, 1299,    0,  719, 1134,    0,  200,  121,    0,  122,
    0,  258,  977, 1292,  112,    0,  119,  175,    0,    0,
  114, 1138,    0,  123, 1140,    0,  115,    0,  117,    0,
  126,    0,  118,  176,  124,  120,  125,    0, 1291,    0,
  910,  911,    0,    0,   83,    0, 1297,    0, 1295,  627,
  620,    0,  626,  631,  621,  622,  629,  623,  624, 1057,
  634,  625,  630,  632,  633,    0,    0,    0,   32,    0,
   41,  964,   40,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  721,
    0,    0,    0,    0,    0,    0,    0,  741,    0,    0,
    0,  728,    0,  731,  733,  734,  735,  736,  737,  738,
  744,  745,    0,  834,    0,    0,  803,    0,    0,    0,
  133,    0,    0,  128,    0,  129,    0,  132,    0,  131,
    0,    0,    0,  775,  776,  783,    0,  782,  784,  786,
  791,  779,  777,  780,  778,  787,  790,  785,  789,    0,
    0,    0,    0,    0,  795,    0,    0,    0,    0,  818,
    0,    0,    0,    0,  511, 1290,    0,    0,    0,    0,
    0,  607,    0,    0,    0,    0,  264,    0,  512,  142,
    0,  508, 1288,  593,  594,    0,    0,    0,    0,    0,
    0,  521,    0,  468,  469,    0,    0,    0, 1059,    0,
    0,  601,  600,    0,    0,  726,  724, 1135,    0,    0,
    0,    0,    0,    0,    0,  203,  161,    0,  139,    0,
    0,    0,    0,  134,    0,  150,  149,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,   84,    0,    0,
    0,    0,  935,  628,    0,    0,    0,    0, 1097, 1130,
    0, 1286,    0, 1099, 1199,    0,    0,    0, 1213, 1131,
    0, 1125, 1116, 1115, 1114,    0,    0,    0,    0, 1102,
    0,    0, 1117, 1118, 1126, 1127,    0, 1128, 1129,    0,
    0,    0, 1133,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1132,    0,    0,    0,    0, 1124, 1120,    0,  974, 1094,
 1095, 1096, 1101, 1100, 1079,    0,    0,    0, 1078,    0,
    0, 1083, 1146, 1075, 1076, 1077, 1080, 1081, 1082, 1119,
 1145, 1147, 1148, 1149, 1165, 1166, 1168, 1169, 1170,    0,
 1176, 1231, 1232,    0, 1248, 1249, 1255, 1256,  259,    0,
    0,    0,  446,    0,    0,    0,  967,   29,    0,    0,
    0,    0,   78,   80,   76,   35,    0,    0,    0,    0,
  969,    0,    0,    0,   56,   58,    0,    0,    0,  717,
    0,    0,  771,    0,    0,  742,    0,  739,    0,  740,
  769,    0,  764,    0,    0,    0,  756,  755,  732,    0,
  866,  978,  947,    0,    0,    0,  807, 1301,  849,    0,
    0,  140,    0,    0,    0,    0,    0,    0,  714,  713,
  788,  781,    0, 1303,    0,    0,    0,  796,  800, 1144,
    0,  820,  822,    0,  823,  825, 1282,  826,    0,  827,
  816,    0,    0, 1284,    0,    0,  802,    0,  219,    0,
    0,  158,    0,  612,    0,  613,  608,  454,    0,  516,
  518,  517,  454,  514,  519,    0,  513,    0,    0,    0,
    0,  312,    0,    0,    0,  525,  526,    0,  586,    0,
    0,    0,    0,    0,    0,    0,  479,  478,    0,  615,
    0,    0, 1058,    0,    0,    0,  453,    0,    0,  199,
    0,    0,  208,    0,  207,    0,    0,  214,  197,    0,
  212,  204,    0,    0,  660,  695,  663,    0,  696,    0,
    0,  664,    0,    0,    0,  687,  699,  659,  682,  661,
  662,  657,  644,    0,  635,  636,  645,    0,    0,  654,
  655,  656,  658,    0,    0,    0,    0,  138,    0,    0,
  135,    0,  136,    0,  137,    0,  153,    0,    0,  240,
    0,    0,    0,    0,  453,    0,    0,  116,    0,  264,
    0,    0,   92,    0,    0,    0,  109,  110, 1136, 1289,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  980,  984,  985,  986,  987,  988,  989,  990,  991,  992,
  993,  994,  995,  996,    0,    0,    0,    0,    0, 1121,
    0,    0,    0,    0,    0,    0,    0, 1122, 1123,    0,
 1103, 1104,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  407,
 1310,    0,    0,    0,    0,    0,    0,    0,    0,  436,
    0,    0,    0,    0,    0,  639,  643,    0,    0,  640,
  652,    0,    0,    0,  444,    0,    0,    0,  966,    0,
    0,   51,   81,    0,    0,    0,    0,    0,  972,    0,
    0,    0,    0,    0,    0,  839,  840,  841,  842,  851,
  852,  853,    0,    0,    0,    0,    0,  716,  707,    0,
 1142,  706,    0,  743,  754,    0,  751,  747,  746,    0,
    0,    0,  766,  750,  757,    0,    0,    0,    0,  939,
    0,    0,  847,    0,    0,    0,    0,    0,  453,    0,
  130,  794,  793,  772,    0,    0,    0,    0,    0,    0,
  829,    0,    0,    0,  830,    0,    0,  907,  813,  812,
    0,    0,    0,  159,    0,  611,    0,  515,    0,  520,
  602,    0,  598,    0,    0,  308,  453,  282, 1293,    0,
    0,  250,  254,    0,    0,  248,    0,  255,    0,    0,
    0,  287,  281,  284,  285,  286,  524,  591,  590,  523,
  522,    0,    0,    0,    0,    0,    0,    0,  531,    0,
  473,  474,  472,    0,    0,    0,  471,    0,  454,    0,
 1061,    0,    0,    0,    0,  596,    0,  595,    0,  205,
  209,    0,    0,  213,    0,    0,    0,  683,  684,  700,
    0,  697,    0,    0,  690,  688,  689,    0,  164,    0,
    0,    0,  653,    0,    0,    0,    0,  691,  141,    0,
    0,    0,    0,  453,    0,  239,    0,  242,  244,  245,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  264,   87,    0,    0,   86, 1139, 1137,    0,    0,    0,
  983,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  887,  889,    0,  884,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1272, 1273, 1274, 1275, 1276, 1277, 1280,
 1281, 1278, 1279,    0,    0,    0,    0,    0,    0,    0,
    0, 1261,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1242, 1244, 1243,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1092,  438,
    0, 1093, 1088,    0,    0,    0,    0,    0,    0,    0,
    0,  408,  409,    0,    0, 1098,  976,  975,    0,    0,
 1246,    0,    0,    0,  317,    0,  448,  447,    0,  315,
  342,    0,  323,  343,  968,    0,    0,    0,   79,   49,
    0,   28,    0,    0,    0,    0,  922,    0,  971,    0,
  921,    0,    0,    0,    0,    0,    0,  868,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,   55,    0,    0,   62,   70,   72,    0,    0,   54,
  708, 1143,  752,  765,  760,  759,    0,  770,    0,  979,
  948,    0,    0,  850,    0,  453,    0,    0,    0,    0,
    0,  773,  792,    0,  821,  824,    0,    0,    0,    0,
    0,    0,    0,    0,  610,    0,    0,  218,    0,  222,
    0,    0,  456,  265,  266,  267,  268,  269,  270, 1112,
  604,    0,  313,    0,  252,    0,    0,  247,  454,    0,
    0,    0,  527,  528,  533,  532,    0,  588,  529,  476,
  477,  475,    0,    0,    0,  495,    0,    0, 1063,    0,
    0,    0,  599,  597,  230,  231,  206,    0,  217,  672,
  671, 1141,    0,    0,    0,    0,    0,  698,    0,    0,
    0,    0,    0,  168,  170,  171,  172,    0,    0,  648,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  453,
    0,    0,    0,    0,  232,    0,  454,    0,  455,    0,
    0,    0,  178,    0,    0,    0,    0,    0,    0,  183,
  185,  186,  187,    0,    0,   91,    0,    0,    0,    0,
   99,   93,    0,    0,   98,   94,    0,  946, 1294,    0,
    0,  997,    0,    0,    0, 1023, 1022,    0,    0,    0,
 1032, 1051,    0, 1046,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  982,    0,  888,    0,
    0,    0,    0,    0,    0, 1150,    0,    0, 1233,    0,
    0,    0,    0,    0,    0,    0,    0, 1105,    0,    0,
    0,    0,    0, 1257,    0,    0,    0,    0,    0,    0,
    0, 1270, 1171, 1172, 1173, 1234, 1174,    0, 1241,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1107,    0,    0,    0, 1175, 1245,    0,  641,  256,  638,
    0,  310,  443,  343,  324,    0,    0,    0,   44,   48,
   46,   50,    0,    0,    0,  953,    0,  973,    0,    0,
  843,    0,    0,  873,  871,  869,    0,    0,  870,    0,
    0,  952,   74,   66,   67,   73,   68,   69,    0,    0,
    0,    0,  762,  763,  767,    0,    0,  808,    0,  233,
    0,    0,  455,    0,    0,  774,  833,    0,    0,    0,
    0,  831,    0,  909,  908,    0,  196,    0,    0,    0,
  223,    0, 1113,  163,  454,  454,  314,  342,  251,    0,
    0,  273,    0,    0,    0,    0,    0,  288,  530,    0,
    0,    0,    0,    0,    0,  617,  455,    0, 1065,    0,
    0, 1055, 1067, 1068,    0,  455,    0,    0,    0,  666,
    0,  665,  701,    0,  693,  173,  160,  169,    0,    0,
  646,  674,    0,    0,  676,  679,  681,  453,    0,    0,
    0,  342,    0,  148,    0,  243,    0,    0,    0,  459,
 1054, 1070,  455,    0,  188,  191,  190,  193,  192,  189,
  195,  177,  184,    0,  113,    0,  146,    0,  102,    0,
    0,    0,    0,   96,   97,    0, 1044, 1045,    0,    0,
    0,    0,    0,    0,    0,    0, 1047,    0,    0,    0,
    0,    0,    0,    0, 1033,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  895,    0,    0,    0,  934, 1156, 1155,
    0,    0,  263,    0, 1152, 1151,    0, 1160, 1159, 1158,
 1157,    0, 1154, 1153,    0,    0, 1263,    0,    0,    0,
 1262,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  810,  441,
  411,  410,    0,  316,    0,    0,    0,    0,    0,  959,
  958,    0,  957,  955,  963,  962,  960,    0,    0,    0,
  863,  861,    0,    0,  923,    0,    0,  854,    0,   63,
   64,   65,   71,    0,    0,    0,    0,  342,    0,    0,
  462,  455,    0,    0,    0,    0,  915,  916,  913,    0,
  228,  224,  455,    0,    0,  455,  246,  274,    0,    0,
    0,  276,  277,  275,    0,    0,  289,    0,    0,    0,
    0,    0,    0,    0,  614, 1056,    0,    0,    0,  452,
    0,  668,    0,  669,    0,  651,  649,  647,  678,    0,
    0,    0,  455,    0,  455,    0,  455,  342,  455,  449,
    0,    0,  234,  454,  100,    0,    0,  106,  101,    0,
    0,    0,    0,    0, 1052,    0, 1053,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  897,
  886,    0,    0,  898,    0,  894,    0,  260, 1247, 1271,
 1230, 1167,    0,    0, 1259, 1258,    0, 1264, 1250, 1252,
    0, 1239, 1240,    0,    0,    0,    0,    0,    0,    0,
 1253,    0, 1162, 1161,    0,    0,    0,  329,    0,    0,
   26,   27,    0,    0,  920,  845,    0,  855,    0,    0,
    0,  924,    0,  925,    0,    0,  856,  857,  858,   52,
   53,    0,  938,  455,  455,  455,  450,  235,    0,    0,
    0,    0,  225,  174,  456,  456,  307,    0,    0,  279,
    0,    0,    0,  493,  494,  490,  489,  492,  491, 1073,
 1072,  457,  216,  667,  694,  342,    0,    0,  465,  455,
  304,  155,  460,  497,  461,  179,    0,    0,    0,  104,
    0,   88,    0, 1009, 1017,    0,    0, 1010, 1018, 1013,
 1021,    0,    0,    0, 1011, 1019, 1012, 1020,    0, 1006,
 1014, 1007, 1015, 1008, 1016,  893,    0,    0,    0,  261,
    0, 1235, 1260,    0, 1238, 1224,    0,    0,    0,    0,
    0,    0,  642,  333,  343,  338,  332,    0,    0,    0,
    0,  326,  327,    0,    0,   42,  954,  844,    0,    0,
    0,    0,    0,  305,  463,  464,    0,    0,  877,    0,
  815,  318,  319,  280,    0,  249,    0,  291,  455,  455,
  455,  451,    0,    0,    0,   85,  107,  108,  809,    0,
    0,    0,    0,  900,    0, 1251, 1225, 1226, 1227,    0,
 1254,    0, 1229,    0,  334,    0,  339,    0,  420,    0,
  325,    0,    0,    0,  928,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  306,  466,  467,  237,  236,    0,
    0,  899,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  435,  349,
  345,  346,  351,    0,  347,  348,    0,  341,  344,  350,
  352,  353,  354,  355,  356,  357,  358,  359,  362,  363,
  364,  365,  366,    0,    0,  429,  430,  431,    0,  950,
  951,  428,    0,    0,    0,    0,  423,  421,    0,    0,
    0,  929,    0,  860,  941,  940,  878,    0,    0,  278,
    0,  296,    0,  295,  290,  147,  902,    0,  262, 1228,
    0,    0,    0,    0,    0,  417, 1302,  432,  433,    0,
    0,  340,    0,    0,  413,  427,  426, 1298,  425,  342,
    0,  328,    0,    0,    0,    0,    0,  300,  299,  298,
  903,    0,    0,    0,    0,    0,    0,  404,    0,    0,
    0,    0,    0,  422,  424,    0,    0,  303,  301,  302,
    0,    0,    0,    0,    0,    0,    0,    0,  387,  388,
  389,  390,  391,  392,  393,    0,  342,    0,    0,    0,
    0,  331,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  386,  342,  367,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  399,  401,  400,    0,    0,    0,
    0,    0,  342,  931,    0,    0,    0,  378,    0,  381,
    0,    0,  342,    0,    0,  342,  412,    0,  376,    0,
  377,    0,    0,  402,    0,  418,  371,  379,  382,    0,
  342,  374,
};
static int yydgoto[] = {                                      22,
   23,   24,   25,   26,   27,   28,   29,   30,   31,   32,
   33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
   43,   44,   45,   46,  293,  819,  316, 1512, 2048, 1482,
  294, 1141,  295,  822, 1146,  296,  297,  491, 1483, 1801,
  823, 1154,  309,  310, 1513, 1514, 1515, 1516,  409,  415,
  298, 1517,  299,   95,  465,  658,  601, 1031, 1669,  767,
 1344,  993,  443, 1313, 1032, 1033, 1034, 1676, 1671, 2149,
  466, 1036, 1037, 2050,   91,  435,   92,  463, 2381, 1945,
  441,  447, 1028,  449,  453,  437,  428,  430,  444,  455,
  457,  451,  331,  544,  546, 1201,  550,  548,  541,  644,
 1011, 1013, 1015, 1008,  397,  398,  816,  492, 1242, 1227,
 1049, 1930,  648, 1018, 1643, 1924,  961, 1171, 1607,  911,
  912,  935,  638,  994, 1308, 1622, 1465, 1309, 1563, 1864,
 1623, 1624, 1625, 1626, 1627, 1050,  438,  458,  584, 1336,
 1658, 1942, 1659, 1660, 1661, 1662, 1663,  585,  429,  634,
  969,  635,  636,  970,  971,  913, 1558, 1559, 1560, 1860,
  650, 1327, 2143, 1328, 1329, 1330, 1244, 1870, 1126, 1246,
 1247,  769,  810, 2004,  433, 1564,  770,  771,  772,  773,
  774, 1871, 1872,  938, 2104, 2411, 1878, 1253, 1238, 1254,
 1255, 1256, 2412, 2413, 2529,  607,  815, 1284, 1471, 2334,
  405,  931, 1469,  932, 1128, 1867,  811, 1472, 1473, 2335,
 1796, 2219, 2341, 2342, 2343, 1678, 2336, 2337, 2338, 2339,
 2398, 2447, 2448,  863, 2450, 2451, 2452, 2453, 2454, 2455,
 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 1451,
 2602, 2535, 2557, 2606, 2607, 2608, 2609, 2610, 2558, 2559,
 2560, 2561, 2562, 2563, 2564, 2565, 2538,  775,  776, 2465,
 2399, 2476, 2477, 2517, 2466, 2467, 2468, 2510,  777, 1120,
  778,  488,  812,  813,  779,   47, 1896,  416,  616,  950,
 1279, 1649,  951, 1277, 1273,  445,   72,  611,  410,  344,
  591,  394,  598,  402,  421,  602,  419,  413,  599,  612,
 1260,  613,  945, 1589,  395,  780, 1628,  929, 1233,  624,
  592,  952, 1887,  112,  408,  470,  481,  996, 1129, 1130,
  997, 1131, 1629, 1132, 1630, 1000, 1001, 1002, 1003, 1297,
 1616, 1614, 1004, 1005, 1006, 1305, 1007, 1302,   48,   49,
   50,   51,   52,   53,  333,  880,   74,  841,  424,  627,
  522,  523,  524,  525,  526,  527,  528,  529,  530,  531,
  532, 1178,  852, 1527, 1835,  853,  854, 1183,  570, 1204,
  571,  885,  572, 1207,  338,  575,  888, 1963,  340,  583,
  907,  322,  323,  781,  540, 1964, 1109,  341,  905,  342,
  578,  899, 1213, 1549,  662, 2086, 2252, 1066,  579,  580,
  900, 1214, 1215,  535,  869, 1848, 1155, 1156, 1157, 1158,
 1159, 2227,  870, 1160, 1161, 1162, 1504, 2237, 2238, 2239,
 1496,  319, 1815, 2358, 2359, 1994, 1377, 1995, 1996, 1997,
 2186, 2382, 2384, 1217, 1218, 1854, 2089,  830, 1487, 2065,
 2066, 2067, 2405, 2482,  865,   55,   56,  663,   57,   58,
 2408,  831,  866,  782,  783, 1485, 1806, 2052, 2053, 2057,
 1150, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059,
 1060, 1061, 1062, 1063, 1064, 1689, 1691, 1692,  619,  956,
 1283, 1601, 1931,  620, 1892, 1893, 1894,  784,  785,  786,
  787,  788,  789, 1081, 1460,  790, 1347,  791,  792,  793,
  794, 2036,  795,  796, 1404,  797,  798,  799,  800,  801,
  802,  803, 2194, 1427,  804,  805,  806, 2034,  807,  808,
 1087, 1410, 1757, 1752, 1088,  301,
};
static int yysindex[] = {                                   3566,
 5296,  -48, 3569, 1577,  120, 5288,  -70,63964,  606,  203,
  520,  -20,  -48,  439,65360,65709, 1480,68152,  320,  476,
    0,    0,  841,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  590,    0,    0,    0,
    0,    0,    0,  531,    0,    0,    0,    0,  537,    0,
60444,68152,  687,68152,68152,68152,68152,68152,68152,68152,
68152,    0,    0,  624, 1396,68152,68152,68152,  844,68152,
  675,68152,68152,    0,68152,68152,68152,68152,68152,  673,
    0, 1454,  959,68152,    0,68152,68152,68152, 1017,68152,
68152,68152,68152,  675,68152,68152,68152,68152,68152,68152,
68152,    0,68152, 1356,    0,    0, 1049,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1505,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1505,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1072, 1252,  180, 1612,    0,    0,    0,    0,
    0,68152,68152,68152,68152, 1353, 1360, 1384, 2633,68152,
 1085,68152, 1417, 2492, 1434,    0,    0, 1520, 1382,68152,
    0,    0, 1759, 1821,68152,68152,68152,68152,68152, 1273,
    0,    0,    0,68152, 4145,    0, 1448, 1451,    0,  895,
    0,    0,68152, 1644,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1247,    0,    0, 1396,    0,    0,68152,
 1096,    0,    0, 1869,    0,    0, 1390,    0, 1099,    0,
    0,  474,    0,    0, 1505,    0,    0,   23,    0, 1415,
    0,    0, 1507,    0,    0, 1486,    0,    0, 1075,    0,
 1688,    0,    0,    0,    0, 1396,    0,    0,  996, 1869,
    0,    0,   71,    0,    0, 1642,    0,  810,    0, 1578,
    0, 1505,    0,    0,    0,    0,    0, 1677,    0, 1571,
    0,    0, 1673,68152,    0, 1681,    0, 1580,    0,    0,
    0,68152,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,52479,68152, 1625,    0,68152,
    0,    0,    0, 1604, 1652,66058,68152, 1431, 1714,  217,
 1546, 1735, 1793, 1744, 1752, 1690, 1695,  202, 1575,    0,
 1647,68152, 1720,  525,  816,68152, 1669,    0, 1563, 1596,
 1582,    0, 2492,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1804,    0,68152,68152,    0,68152,68152, 1877,
    0, 1396, 1869,    0, 1642,    0,  890,    0, 1505,    0,
 1739, 1795, 1768,    0,    0,    0, 1873,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1863,
68152,68152, 1832, 1722,    0,  131,  147,  107,    0,    0,
 1946,  833, 1713, 1818,    0,    0,    6, 1725, 1726, 1730,
 1644,    0, 1479, 1421, 1928,68152,    0, 1247,    0,    0,
 1930,    0,    0,    0,    0,68152, 1625,66407, 1778,66756,
 2198,    0,60444,    0,    0,   95, 1396, 1578,    0, 1650,
 1990,    0,    0, 1993, 1820,    0,    0,    0, 2205, 2205,
 1396, 1905, 1396,  432, 1075,    0,    0, 6568,    0,68152,
68152,68152,68152,    0, 1625,    0,    0, 1994,  843, 2242,
68152,   95, 1650, 2024,68152,68152,68152,    0, 2250,57212,
43589, 1908,    0,    0, 2257, 2258, 2259, 1852,    0,    0,
 2264,    0, 2266,    0,    0, 2275, 2276,    0,    0,    0,
 2285,    0,    0,    0,    0,    0, 2293, 1857, 1884,    0,
 2296, 2296,    0,    0,    0,    0, 2297,    0,    0,48737,
 2299, 2300,    0, 2305, 1998, 2307, 2311, 2313, 2314, 2317,
 2331,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 2335, 2340, 2354,
    0,    0,    0,    0, 2355,    0,    0,    0,    0,    0,
    0,    0, 2357,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,52875,52875,49311,68152,    0,    0, 5117,    0,    0,
    0,    0,    0,    0,    0, 2283, 1966, 2356,    0,    0,
 2352,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 2359,
    0,    0,    0, 2361,    0,    0,    0,    0,    0,62909,
 2342, 1528,    0, 2364, 2145, 1668,    0,    0,68152,68152,
68152,  133,    0,    0,    0,    0,68152, 1976,68152, 1164,
    0,55459,68152, 2096,    0,    0, 1604, 2027,66058,    0,
68152,  111,    0, 1016, 1888,    0, 1987,    0, 1987,    0,
    0, 2370,    0, 2112, 2009,  675,    0,    0,    0,68152,
    0,    0,    0, 2393,  151, 2379,    0,    0,    0, 1763,
 2401,    0, 1625, 2402,68152,   95, 2179,68152,    0,    0,
    0,    0,  698,    0, 2111, 2400,68152,    0,    0,    0,
52875,    0,    0,52875,    0,    0,    0,    0,49707,    0,
    0,52875,  531,    0,  531,52875,    0, 2155,    0, 2107,
 2117,    0, 1396,    0, 2118,    0,    0,    0, 2176,    0,
    0,    0,    0,    0,    0, 6568,    0, 1396, 2091,62909,
 1826,    0, 2199,68152,63258,    0,    0,  648,    0,68152,
  -62, 1390, 2081, 2038,  541,    0,    0,    0,  733,    0,
  508, 2086,    0, 1650, 1396, 1874,    0, 2026,  124,    0,
 2033,  675,    0, 1396,    0, 2207, 2140,    0,    0,  432,
    0,    0,  152, 2049,    0,    0,    0, 2052,    0, 2100,
 2451,    0, 2150, 2457,  823,    0,    0,    0,    0,    0,
    0,    0,    0, 1928,    0,    0,    0, 2409,  198,    0,
    0,    0,    0,  159, 2461, 2463, 2457,    0, 1396, 1869,
    0, 1086,    0, 1505,    0, 2240,    0, 1396, 1396,    0,
66407, 1099, 2086, 1874,    0, 2189, 2469,    0, 2136,    0,
 2116, 2467,    0, 5987, 2064, 2134,    0,    0,    0,    0,
 2151, 2483,47945, 2486,    0,    0,    0,43985, 1515,  552,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  955, 2158,  860,52875,  813,    0,
68152,52875, 1011, 1117,52875, 1230, 3468,    0,    0,  675,
    0,    0,52875,47945,49311, 5117, 2087,  542,52875,52875,
47945, 2216,52875,52875,52875,52875,52875,44381,43193, 3468,
52875, 1255,52875, 1136, 1136, 5117, 1840,  531, 2491,    0,
    0,68152,52875,52875,52875,52875,52875,52875,54761,    0,
52875,56157,52875,50103, 2160,    0,    0, 2260, 2177,    0,
    0, 2274, 2490,68152,    0,68152,    0,68152,    0, 2131,
 2133,    0,    0, 2106,66058,  -50, 2248, 2035,    0, 1881,
 2524, 2035,55110, 2525, 2142,    0,    0,    0,    0,    0,
    0,    0, 2248,64662,68152,68152,   89,    0,    0, 1194,
    0,    0,   25,    0,    0, 2129,    0,    0,    0,68152,
  921,68152,    0,    0,    0, 2528,68152,68152, 1908,    0,
52875,68152,    0, 2128, 2312,66407, 1099, 2086,    0, 2535,
    0,    0,    0,    0,  698,68152, 2245, 2540, 2666, 3021,
    0, 3072, 2269, 2548,    0, 2711, 2549,    0,    0,    0,
  961, 2078, 1396,    0,   40,    0, 2561,    0,  583,    0,
    0, 1396,    0, 2260,68152,    0,    0,    0,    0, 2347,
 2077,    0,    0, 1928,  -58,    0, 2564,    0, 2280, 2287,
 1505,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  675,68152, 2347, 2319, 1928,63607, 2077,    0,  446,
    0,    0,    0, 2262, 2263, 2270,    0,  675,    0, 1874,
    0, 1396, 2032, 2128, 2031,    0, 1258,    0, 1587,    0,
    0, 2237, 1396,    0,57212,  135, 2243,    0,    0,    0,
  675,    0, 2451,  155,    0,    0,    0,  502,    0,  155,
 2238,  155,    0, 2610,  675,  675,  675,    0,    0, 1625,
68152,   95, 2403,    0, 2324,    0, 1891,    0,    0,    0,
   95,  573, 2032, 2128,67105,  730,66407,68152, 1915,  230,
    0,    0, 2624,   98,    0,    0,    0,57212,68152, 2128,
    0, 2128, 1343,  137,52875,52875,44777, 2625,  967,45173,
52875,45569,  536,45965,46361,50499, 2252,46757,47153,47549,
47945,47945,    0,    0, 2318,    0, 2628, 1713,52875,52875,
 4800,52875, 2642,52875, 2641, 3109,52875,52875,52875,52875,
 1029,52875,52875,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 2376, 2652, 2014,  582, 3119,52875,  721,
52875,    0,47945, 1303, 3687,  671,68152, 3156, 3201, 3283,
 3316, 3333,    0,    0,    0, 1870,50895,    0,    0,    0,
    0, 1279, 2650,  338, 3822,52875,52875,  121,    0,    0,
  895,    0,    0, 2418,  834,  834, 1136, 1136,  796,57830,
 2659,    0,    0, 2658, 5117,    0,    0,    0, 2356, 2655,
    0, 1979,67454,68152,    0, 2358,    0,    0, 1983,    0,
    0,    0,    0,    0,    0,64662,64662, 2330,    0,    0,
 2446,    0,66058,  655, 2362,52875,    0,68152,    0,52875,
    0, 2680, 2168, 2684,52875, 1520, 2348,    0, 2348, 1350,
47945, 2348, 2390, 2392, 2362,68152,68152,68152,68152,68152,
69897,    0, 2695, 2706,    0,    0,    0, 2435, 2436,    0,
    0,    0,    0,    0,    0,    0,  751,    0, 2321,    0,
    0, 2158, 5117,    0, 2718,    0, 1997,   95,  734, 2128,
66407,    0,    0,  698,    0,    0,68152,55459, 2322,52875,
 2277,52875,52875,68152,    0, 2205, 2507,    0,   40,    0,
47945, 1809,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  210,    0,    0,    0, 2503, 2493,    0,    0, 1505,
 1505, 2284,    0,    0,    0,    0,  -58,    0,    0,    0,
    0,    0,  487,   18,  521,    0, 2510, 2032,    0, 1396,
   24, 2336,    0,    0,    0,    0,    0,68152,    0,    0,
    0,    0,  219, 2021, 2367, 2274, 2740,    0, 2033, 2041,
 2437, 2260,  502,    0,    0,    0,    0, 2724, 1097,    0,
68152, 1326,  675, 2744, 2748, 2750, 2529, 1099, 2086,    0,
    0, 2205, 2117,66407,    0, 2086,    0,68152,    0, 2471,
 2336, 2755,    0, 2222,  565,  848, 2214, 1396,  730,    0,
    0,    0,    0, 2045,55808,    0,  675, 2421, 2504, 5987,
    0,    0,  675,  347,    0,    0, 2505,    0,    0, 2771,
 2775,    0, 1181, 5117, 2777,    0,    0, 5117, 2778,49311,
    0,    0, 2508,    0, 1291, 2780, 5117, 2781, 2180, 2783,
 5117, 2785,52875,52875, 2625,52875,51291, 2404, 2788, 5117,
 2791, 2792, 5117, 2795,52875, 5117,52875, 2796, 5117, 2798,
 2799, 5117, 2801, 2804, 5117, 2810,    0, 2583,    0,65011,
 2035, 3378, 3599,68501, 3796,    0, 3853,52875,    0, 3864,
 3908, 3940, 3983,52875, 4266, 4438,52875,    0,52875,52875,
 5117, 2426,52875,    0,52875, 5117, 2551,  718,52875,52875,
52875,    0,    0,    0,    0,    0,    0,52875,    0,52875,
 2025, 2430,52875,52875,52875,52875, 4992, 4992,52875, 1713,
    0, 2058,57830,56506,    0,    0,68152,    0,    0,    0,
68152,    0,    0,    0,    0, 2557, 2413, 2413,    0,    0,
    0,    0,  211,  211,  118,    0,  141,    0, 2068, 1520,
    0, 2074,68152,    0,    0,    0, 2521,   -4,    0,55459,
55459,    0,    0,    0,    0,    0,    0,    0,64662,64662,
64662,64662,    0,    0,    0, 2826, 1713,    0,    0,    0,
 2086,68152,    0, 2336, 2075,    0,    0, 2823, 2168,47945,
 2544,    0, 1129,    0,    0, 5117,    0, 2033, 2487, 2033,
    0,  236,    0,    0,    0,    0,    0,    0,    0, 2260,
 2493,    0,   16,52875, 2473, 2284, 1454,    0,    0, 2494,
 2495, 2497, 2498, 2499, 2512,    0,    0,   24,    0, 2427,
 2428,    0,    0,    0, 2604,    0, 2375, 2854,  219,    0,
 2466,    0,    0,  155,    0,    0,    0,    0,  155,  155,
    0,    0, 2274, 2874,    0,    0,    0,    0,   95,  780,
 2128,    0, 2033,    0, 2117,    0, 2510,    0, 2510,    0,
    0,    0,    0, 1396,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 2542,    0, 2540,    0, 2877,    0, 2878,
 1396,   11, 2882,    0,    0, 1396,    0,    0,52875, 2128,
 2128, 2076,  531, 2884,52875, 2611,    0, 2128, 2128,52875,
 2128, 2128, 3127, 5117,    0, 2334,52875, 5117,52875, 2128,
 2128, 2128, 2128, 5117, 2501, 2128, 2128, 2128, 2128, 2128,
 2128, 2318,68152,    0, 2890, 2889, 1532,    0,    0,    0,
 2572, 6568,    0, 2893,    0,    0, 4445,    0,    0,    0,
    0, 4453,    0,    0, 4481, 1920,    0,52875, 2647, 2530,
    0,52875, 4490, 2082, 5065, 4516, 4536,52875,52875, 5071,
 1227, 5097, 5108, 2093,52875, 2896, 2915, 2236,    0,    0,
    0,    0, 2911,    0, 2688, 2531, 2637,  -50,  -50,    0,
    0, 2539,    0,    0,    0,    0,    0,57830, 2035,70246,
    0,    0,55459,  458,    0, 2520, 2533,    0, 2295,    0,
    0,    0,    0,  -50,  -50,52875, 2035,    0, 2510, 2510,
    0,    0, 2542,55459, 2698, 2649,    0,    0,    0, 1587,
    0,    0,    0,  583,  583,    0,    0,    0, 2638,68152,
 2284,    0,    0,    0, 5117,68152,    0, 2648, 2547, 2651,
 2553, 2692, 2657, 2699,    0,    0, 2537, 2541, 2621,    0,
68152,    0, 2964,    0, 2965,    0,    0,    0,    0,    0,
 2086,68152,    0, 2336,    0, 1587,    0,    0,    0,    0,
 2969, 2733,    0,    0,    0, 2653,  -60,    0,    0, 2274,
 2656, 5117, 2972, 2981,    0,  895,    0, 5117,52875, 2987,
 2993, 5117, 2994, 3004,52875,52875, 5117, 2841, 3005, 3006,
 3009, 3010,52875, 3011, 3012, 3018, 3019, 3020, 3029,    0,
    0,65011, 3034,    0,68152,    0,67803,    0,    0,    0,
    0,    0,52875, 3036,    0,    0,52875,    0,    0,    0,
52875,    0,    0, 4547, 4564,52875,52875,52875,52875,52875,
    0, 5117,    0,    0,52875,68152,    0,    0,68152, 2707,
    0,    0,  211, 2659,    0,    0, 1821,    0, 2517, 2661,
 2717,    0, 2526,    0,47945, 3055,    0,    0,    0,    0,
    0, 2104,    0,    0,    0,    0,    0,    0, 2168,52875,
47945, 1908,    0,    0,    0,    0,    0, 2284, 1505,    0,
 3058, 1505,68152,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 2510, 2510,    0,    0,
    0,    0,    0,    0,    0,    0,    1,52875, 1396,    0,
 2640,    0, 1396,    0,    0, 1713, 5117,    0,    0,    0,
    0, 5117, 5117,52875,    0,    0,    0,    0, 5117,    0,
    0,    0,    0,    0,    0,    0,68152, 2768,68152,    0,
 5117,    0,    0, 4761,    0,    0, 4847, 4958, 4984, 5117,
 2855, 2036,    0,    0,    0,    0,    0, 2797, 2662,62909,
 3043,    0,    0, 2815,    0,    0,    0,    0, 2691, 2693,
  552,68152, 2555,    0,    0,    0, 5117, 3083,    0,  552,
    0,    0,    0,    0, 2754,    0, 2754,    0,    0,    0,
    0,    0, 2622, 2626, 5117,    0,    0,    0,    0, 5117,
 3085, 3094, 3106,    0, 3103,    0,    0,    0,    0,52875,
    0,52875,    0,62211,    0,   82,    0, 2662,    0, 2260,
    0, 2839, 2822, 2749,    0, 2109, 2528, 2035,52875,  489,
 2284, 2784, 2789, 2284,    0,    0,    0,    0,    0, 3132,
68152,    0,68152,68152, 5117, 5014,68152,  -37,    0, 3136,
 2579, 2843,52875,    0,    0,68152,68152,68152,    0,    0,
    0,    0,    0, 2844,    0,    0, 3121,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  494, 3123,    0,    0,    0,    0,    0,
    0,    0,68152,68152,  219,  678,    0,    0,  210, 3143,
 2528,    0,68152,    0,    0,    0,    0,  910,  910,    0,
 2887,    0, 2757,    0,    0,    0,    0, 3147,    0,    0,
52875,53271,47945, 2764, 5117,    0,    0,    0,    0,68152,
57830,    0,  571, 3154,    0,    0,    0,    0,    0,    0,
   82,    0, 2128, 2761, 3160, 2747,   65,    0,    0,    0,
    0, 5117,49311, 5117, 1280,  295, 2906,    0, 2872, 2659,
 2714, 2881,47945,    0,    0, 3185, 3190,    0,    0,    0,
 5026, 2802, 2919,52875, 1404,52875, 2897, 1280,    0,    0,
    0,    0,    0,    0,    0, 2809,    0,57830,53271,57830,
  422,    0,52875, 3197,52875,53667, 5117, 2812, 2853, 2820,
 5117,57830,    0,    0,    0, 2659, 1280,  140, 2957, 2113,
52875, 5117, 2660, 5117,    0,    0,    0, 2659, 2958, 2927,
 2975, 2974,    0,    0, 5117, 2120, 2127,    0, 2663,    0,
    0,52875,    0,57830,68152,    0,    0,68152,    0,52875,
    0,52875, 5117,    0,  728,    0,    0,    0,    0, 5117,
    0,    0,
};
static int yyrindex[] = {                                   2869,
    0,  176,   83,    0,    0,    0,    0,    0,    0,    0,
    0,64313,  190,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 3280,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  220,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  355,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 2950,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,   43,    0,    0, 2912,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  165,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  165,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 2914,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  355,    0,    0,  931,    0,    0,    0,42410,    0,    0,
    0,    0, 2876, 3027,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  283,51687,  644,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,   80,    0,    0,    0,    0,  806,    0,
    0,  132,    0,    0, 3031,    0,    0,    0,    0,    0,
    0,    0, 1047,    0,    0,    0,    0,    0,  162,    0,
 7051,    0,    0,    0,    0,    0,    0,    0,    0,   80,
    0,    0,  640,    0,    0, 3245,    0,  998,    0,    0,
    0, 3031,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  273,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  204,    0, 3032,    0,    0,
    0,    0,    0,68850,    0,    0,    0,    0,    0, 1472,
    0,    0,    0,    0,    0,    0,    0,    0,69199,    0,
    0,    0,    0,    0,    0,    0, 1493,    0,    0,    0,
    0,    0, 1187,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,   80,    0, 3245,    0,  998,    0, 3031,    0,
    0, 1300,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  252,    0,    0,    0,    0,52083,48341,    0,
    0, 2886,  466,    0,    0,    0,    0,    0,    0,    0,
 1308,    0,    0,    0,    0,    0,    0, 1342,    0,    0,
  330,    0,    0,    0,    0,    0, 3032,  853,60804,    0,
 1406,    0,    0,    0,    0,  645,    0,  132,    0,  134,
    0,    0,    0,    0,    0,    0,    0,    0, 2856, 2856,
    0,    0,    0, 1460,  172,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 3032,    0,    0, 1523,    0,    0,
    0,    0,  142,    0,    0,    0,    0,    0, 5889,    0,
    0,  189,    0,    0,    0,    0,    0,    0,    0,    0,
32258,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 3789,    0,    0,    0,    0,
 3208, 3208,    0,    0,    0,    0,29934,    0,    0,    0,
32839,33420,    0,34001,34582,    0,    0,    0,    0,    0,
    0, 4370, 4951, 5532, 6113, 6694, 7275, 7856, 8437, 9018,
 9599,10180,10761,11342,11923,12504,13085,30515,31096,35163,
13666,14247,14828,15409,35744,15990,16571,17152,17733,18314,
18895,19476,31677,20057,20638,21219,21800,22381,22962,23543,
24124,24705,25286,25867,26448,27029,27610,28191,28772,29353,
    0,    0,    0, 2869,    0,    0,    0, 1239,    0,    0,
    0,    0,    0,    0,    0,36906, 1462,  282,    0,36325,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  154,    0,    0,    0,    0,    0,    0,    0, 2869,
    0,    0,    0,    0,    0,    0,68850,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  228,    0,  228,    0,
    0, 1806,    0, 2182, 2496,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  273,    0,    0,    0,    0,    0,
    0,    0, 3032,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1550,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1482,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1373,    0,  658,    0,    0,  -30,    0,    0,    0,    0,
    0,  838,    0,  134,    0,  148,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1535,
    0,    0, 1734, 1758,    0,    0,    0, 2538,    0,    0,
 2909,    0,    0,57568,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  764,    0,    0,    0, 1334, 2172,    0,
    0,    0,    0,57676, 2863,    0,57568,    0,    0,   80,
    0,  998,    0, 3031,    0,    0,    0,    0,    0,    0,
  853,  998,  826,  139,    0,  173,    0,    0,    0,    0,
    0, 2901,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1160, 2346, 2701,42991, 2869,    0, 2614,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 3265,  222,54063,    0,54063,    0,
    0,    0,54063,54063,    0,54063,    0,    0,    0,    0,
    0,    0,    0,    0, 2869, 2868,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,54063,    0,38068,38649, 3268,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 3272,    0, 1217,    0,    0, 1883, 1320,    0,
    0, 1624,    0,    0,    0,    0,  110,    0,    0,    0,
    0,    0,    0,    0,    0, 1536,  313, 1537,    0,    0,
    0, 1537, 2869,41363, 2976,    0,    0,    0,    0,    0,
    0,    0,  313,    0,    0,    0, 1536,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1076,    0,    0,    0,    0, 2888,    0,    0,  189,    0,
    0,    0,    0, 2869,    0,  853,  998,  826,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  275,    0,    0,
    0,56855,    0, 2999,    0,  847,  894,    0,    0,    0,
  729,    0,    0,    0, 1392,    0,    0,    0,    0,    0,
    0,    0,    0, 1148,    0,    0,    0,    0,    0, 5925,
 6506,    0,    0, 8249, 7087,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 3278,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  416,  460,  861,    0,    0,    0,  148,
    0,    0,  229, 2869,    0,    0,    0,    0, 1290,    0,
    0,    0,    0,    0,    0,    0, 2047,    0,    0,    0,
    0,    0, 2909,    0,    0,    0,    0,  803,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 3032,
    0,    0,    0,    0,  352,    0,    0,    0,    0,    0,
    0,    0,  794, 2869,    0,  301,  853,    0,    0, 6470,
    0,    0,    0,  218,    0,    0,    0,    0,    0, 2869,
    0, 2869,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 3281,    0,    0,  144,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  449, 1896, 2644,
 2756,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  109,    0,    0,37487,40392,40973,39230,39811,    0,    0,
 1605,    0,    0,    0, 1593,    0,    0,    0, 3279,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  827,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1670,    0,    0,    0,    0,    0,
    0,    0, 2976, 3586,    0,42061, 2991,    0, 2991, 2976,
    0, 2991,    0,    0, 1670,    0,    0,    0,    0,    0,
  247,    0,  138,  153,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  222,  509,    0,    0,    0,    0,    0,    0, 2869,
  853,    0,    0,    0,    0,    0,    0,    0, 2903,    0,
  186,    0,    0,    0,    0, 2856, 2883,    0, 1414,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 2146,    0,  110,    0,    0, 2550,    0,    0,    0,
    0, 1649,    0,    0,    0,    0, 1599,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1700,  229,    0,    0,
 1702, 1721,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 2982,    0,    0,    0,    0,
    0, 1732,  836,    0,    0,    0,    0, 1355,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  998,  826,    0,
  110, 2856, 1750,  853,    0, 3068,    0,    0,    0, 1772,
 1721,    0,    0,    0,    0,    0,    0, 1773,  310,    0,
    0,    0,    0,    0,    0,    0,    0, 6470,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,42740,    0,    0,    0,49093,    0, 2869,
    0,    0,    0,    0,    0,    0,58160,    0,58256,    0,
58416,    0,    0,    0,    0,    0,    0,    0,    0,58461,
    0,    0,58555,    0,    0,58587,    0,    0,58745,    0,
    0,58777,    0,    0,58871,    0,    0,49063,    0, 3265,
 1537,    0,    0, 7149,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 2913,    0,    0,    0,    0,  950,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 3293, 3293,    0, 3296,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  157,  157,    0,    0,
    0,    0,    0,    0,    0,    0, 1787,    0,    0,41712,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  144,    0,  110,    0,
 3068,    0,    0, 1721,    0,    0,    0, 2097, 2973,    0,
 4719,    0,    0,    0,    0,  968,    0,    0, 2891,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1770,
 2805,    0,    0,    0,    0, 1649, 2950,    0,    0,  970,
 1301, 1307, 1363, 1380, 1573,    0,    0, 1702,    0,    0,
    0,    0,    0,    0,    0,    0,  206,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 7668,    0,    0,    0,    0,    0,    0,    0,
 2869,    0,    0,    0, 1796,    0,    0,  110,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1815,    0, 1816,    0,    0,    0,    0,
    0,  227,    0,    0,    0,    0,    0,    0,    0, 2869,
 2869,    0,    0,    0,    0,    0,    0, 2869, 2869,    0,
 2869, 2869,    0,58916,    0,59014,    0,59124,    0, 2869,
 2869, 2869, 2869,59220,59330, 2869, 2869, 2869, 2869, 2869,
 2869,54412, 1651,    0,    0, 3300,    0,    0,    0,    0,
 3301,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 3302,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,69548,    0, 1536, 1536,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1537,60286,
    0,    0,    0,    0,    0, 1833, 1841,    0, 2976,    0,
    0,    0,    0, 1536, 1536,    0, 1537,    0,    0,    0,
    0,    0, 1815,    0,    0, 1062,    0,    0,    0, 1216,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 8830,    0,    0,    0, 3303,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  110,
 3068,    0,    0, 1721,    0,  428,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  596,
    0,59426,    0,    0,    0,  109,    0,59484,    0,    0,
    0,59578,    0,    0,    0,    0,59659,59753,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 3265,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 3304,    0,    0,    0,    0,61513,    0,    0,    0,
    0,    0,    0, 1844,    0,    0,42766,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 4138,    0,
    0, 2110,    0,    0,    0,    0,    0, 8830, 3645,    0,
    0,  174,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  412,    0,    0,    0,    0, 3296,59834,    0,    0,    0,
    0,59957,60051,    0,    0,    0,    0,    0,60132,    0,
    0,    0,    0,    0,    0,    0,    0, 2152,    0,    0,
 3305,    0,    0,    0,    0,    0,    0,    0,    0, 2154,
    0,    0,    0,    0,    0,    0,    0,    0,61862,    0,
    0,    0,    0,    0,62560,    0,    0,    0,    0,    0,
59182,    0,  175,    0,    0,    0, 2144, 5300,    0, 1094,
    0,    0,    0,    0, 4226,    0,  167,    0,    0,    0,
    0,    0,    0,    0, 3303,    0,    0,    0,    0,60190,
 3307,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  856,    0,    0,    0, 3046,    0,  715,
    0,    0,    0,    0,    0,    0,    0, 1537,    0,    0,
 8830, 4807, 5388, 1649,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 2165,    0, 1799,    0, 2228, 1545,
    0,    0,    0, 2268, 2309, 2326,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1899,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 3297,    0,
 2888,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 3308,    0,    0,    0, 3309,    0,    0,    0,    0,    0,
    0,    0, 2869,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 2869,    0,  160,    0,    0,    0,    0,    0,
    0, 3311, 2869, 1233,  279,    0,    0,    0,    0, 3312,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 3313,  438,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 4178,    0,    0, 1243,    0,    0,    0,
 1395,    0,    0,    0,    0, 3318, 3047, 3062,    0,    0,
    0, 1492, 3637, 1894,    0,    0,    0, 3322,61164,    0,
    0,    0,    0,    0, 2166,    0,    0,    0,    0,    0,
  195,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 2048,    0,    0,    0,    0,    0,    0, 2171,
    0,    0,
};
static int yycindex[] = {                                      0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 3095,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 2837,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1506,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 2899,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 3326,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 3023,    0, 3024,    0,
    0,    0,    0, 3343,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 3347, 3353, 3354,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 3356,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 2871,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 2806,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 2873,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,
};
static int yygindex[] = {                                      0,
    0,    0,    0,    0,    0,    0,    0,    0, 1005,    0,
    0, 1008, 1012, 1018,    0,    0,    0,    0,    0,-1579,
    0, 1020, 1024,    0, 3096, 2573,   30,-1126, 1626,-1053,
 3117, 2261, 3118, 2590,    0,    0, 2933, -172,    0,    0,
 -845,   48,    0,    0,    0,    0,  214,  303,  -61,  -53,
  -44,  -56, 2935,    0,    0,    0, 1346,    0,    0,  -57,
 1764, -903,  -85,-1467, 2405, 2095, -549,    0, 1775,    0,
 3340, 2098, 2149, -649,    0,    0,    0,-1095,  -63,    0,
    0,    0,    0,    0,    0, 3357,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  -71,    0, -867, -996, 1776, -879,
  883,  633,    0,    0,    0,    0, -557, -541,-1728, 1805,
 -602,  -73,    0, -871, 2203,    0,-1152, -477,   86,    4,
    0, 1827,    0, 1576, -553, -939,  -34, -102, -589,    0,
    0,    0,    0, 1792,    0,    0,    0,    0,    0,    0,
    0,    0, 2818,    0, 2484,    0,    0,    0, 1898,    0,
 2910, -994, 1377, 1817, 2861, 2867,    0,    0, -604, -818,
    0,  -52, -476,    0, -793,    0,-1138,-1122,-1119,-1113,
-1110,    0, 1591,-1381,    0, 1104,-1736,    0, 2523,    0,
    0,    0, 1051, 1068,  993, -299, -490, -900,-1416,-1351,
    0,    0,    0, 2251, -907, 1015,-1012,    0, 2015,-1029,
-1658,    0,    0,    0,    0,-1564,-1050,    0,    0,    0,
    0,    0,    0,-1142,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,-1401,
    0,  928,  911,    0,    0,  884, 2736,  887,    0,  946,
    0,    0,    0,    0,    0,    0,    0,-1104,-1091, 1078,
 1119,    0,  997,    0,    0,    0,    0,    0,    0,    0,
 -748,    0,    0, 2386, -563, -743,-1481,    0, -401, -610,
 -938,-1392,    0,    0,    0, -639,    0,    0,    0,    0,
    0, 2908,    0,    0,    0,    0,    0,    0, 2925, 2584,
    0,    0,    0,    0,    0,   -8, -771,    0,    0,    0,
 2936,    0,    0,    0,   10,    0,    0,    0,    0,    0,
    0, -608, 2219, -607, 1623,    0,    0,    0,    0,    0,
    0,-1421,    0,    0,    0, 2543,    0, 2239,    0,    0,
    0,    0,    0,    0, -191,    0, 3527,    0, 3237,    0,
    0,    0, 3026,    0,    0,    0,    0,    0,    0, 2708,
    0, 2704,    0,    0,    0, 2374,    0,    0,    0, -936,
    0, -443,    0,    0,    0,    0,    0,    2, -986,-1016,
-1294,  -35,    0,  -12, 1328, 3650,    0,  622,    0,    0,
    0,    0,    0,    0, -754,    0,    0,-1137,    0, 2977,
 1027,    0, 2007,-1077,-1027,    0,-1070, 2414,-1179,    0,
    0,    0,    0,    0,    0,    0, 2069,    0,    0,    0,
    0,  688,  357,    0, 1149, 2516,    0, 1386,    0, 1584,
    0, -581,    0,    0, 2018,    0,    0,-1148,-1111,    0,
 1508, 1517,    0,    0, 1090,    0,    0, 2722,    0,    0,
    0, 1189, -703, 1203, 1207, 2441, 2108,-1645,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1372, 1904,    0, 3162, -471,
 -197, -924,    0, 3003, 1737,    0, 1973,    0,    0,-1106,
    0,    0,    0, 2939,    0, 2070,    0,    0,    0,    0,
    0, 1858,    0,    0, -712,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,-1570, 1892,    0,    0,
};
#define YYTABLESIZE 70861
static int yytable[] = {                                     300,
  401,   54,  431,  324,  493,  436,  317,  321,  485,  332,
 1038,  412,  893,  896, 1452, 1107, 1127,  427,  477, 1208,
 1039,  448, 1234,  432,  318,  418,  471, 1453,  450,  998,
  999,  968,  452,  995,  892,  895,  420, 1529,  475,  920,
 1491, 1023,  454, 1229,  479, 1531,  652,  926, 1782, 1378,
  480, 1532,  396,  399,  482,  403,  406,  317,  411,  414,
  417,  300,  422, 1243,  483, 1026,  474,  434,  399,  422,
 1172,  406,  962,  317,  411,  484,  414,  417,  300,  422,
  459, 1572, 1493, 1731, 1332,  467, 1152,  317,  469,  399,
 1565,  467,  422,  403,  406,  407,  317,  411,  414,  417,
  300,  422,  459, 1351,  406,  318, 1566, 1474, 1354, 1567,
 1189,  446,  404, 1520,  478, 1568,  933,  924, 1569, 1793,
 1551, 1441, 1570, 1470, 1334, 1149, 1269,  440,  886,  930,
 1345, 1060, 1145, 1062, 1547, 2045, 1127,   60, 1064, 2107,
  645, 1062,  552,  919, 1407,  876, 1843, 1064, 1902,  906,
  476, 1416,   61,   45, 1016, 1170,   43, 1868, 2054,  930,
  486,  201, 1116, 1114, 1534, 1115,  297, 1117, 1287, 1933,
  891,  202,  180,  965,  942,  723, 1145, 1682, 1613, 2017,
  766, 1024, 2019, 1783, 1121,  914,  894, 1288,  885,  723,
 1060, 1296, 1062,  766, 1188, 1873,   60, 1064, 1315, 1619,
 1062, 1537,  919,  439, 1886,  215, 1064,  297,  965,  766,
  297,   61,   45, 1480,  965,   43, 1185,  965,  930,  797,
  201,  906, 1264,  497, 1922,  297,  914,  753, 1066,  914,
  202,  180,  965,  942,  723, 1292, 1292, 1292, 1292, 1292,
 1306, 1292,  621,  873,  914,  497, 1319,  885,  723,  499,
 1292,  799,  502,  542, 1582, 1035,  829, 1371,   95, 1539,
  797,   95,  439, 1035,  215, 1198,  547,  103, 1542, 1668,
 1866, 1292,  883,  766,  798,  549, 2093,  511,  797,  654,
  906,  437,  801, 2147,  537, 1292,  753, 1066, 1312, 2290,
 1319,  918,  799,  434,  317,  317,  434, 2373, 1540, 1479,
  181,  300,  307,  422,  847, 1319,  445,  324, 1224,  182,
  799,  321,  956,  318, 1882,  798,  399,  406,  317,  411,
  417, 1230,  113,  801,  622,  332,  998,  999, 1458,  603,
 1245,  883,  500,  798,  586, 2566, 1574,  385,  646,  600,
  437,  801, 1664,  309, 2472, 1452, 1890,  144,  909, 1797,
 1798,  154, 1480,  947,  725,  113,  545, 1292, 1453,  181,
 2549, 2253, 2082,  948, 2260, 1228,  897,  968,  182, 1449,
 1674,  956, 1372,  543, 1459, 1462,  877, 1292,  639,  322,
  144, 1775, 1195, 2056, 1252, 1621, 1433, 1434,  603, 2473,
 1556,  603, 1258, 1530, 1259,  535,   73, 1112, 1371, 1597,
 2474,   60, 1113, 2601,  342,  898, 2099, 2282, 1650, 1492,
  154, 2550, 2100,  725,  144,  482,   61,   45, 1813, 1289,
   43, 2291, 2078, 1641, 1780, 1891, 1578,  229,  647, 1292,
  623, 1727, 1728,  308,  809,   96, 2064,  817,  114,  824,
 1405, 1794, 1474,  445, 1675, 2128, 2101, 2195,  843, 1883,
 1535, 2198,  105,  849, 1060,  603, 1062,  201, 1557,  480,
 2502, 1064, 2589,  603, 1062,  919, 2148,  202,  949, 1907,
 1064, 1292, 1311, 1758,  482, 2058, 1292, 1849,  434, 2124,
  309,  434, 1280,  862,  872, 2039,  229,  414,  300, 1873,
 1341, 1341, 1280, 1341, 1341, 1341,  384, 1371, 2475,  914,
 1268,  215,  867,  403,  201, 1865,  919,  317,  949,  910,
 1319, 2138,  828, 1372,  202, 1837, 2096,  839,  480, 1847,
  914, 2364,  861,  864,  919,  324,  321, 2133, 1292,  321,
  868,  103, 1620, 1060, 2137, 1062, 2139,  304,  965, 1341,
 1602,  180, 2077,  925, 1474,  851, 1845,  965,  215, 1064,
 1481, 1066,  949,  809,  797,  432, 1371,  941,  890,  953,
  943, 1818,  884,  884,  753, 1612,  885,  949, 1009, 1467,
 2135,  890, 1295,  963,  723,  965, 1144, 2347,  890, 2374,
 1012,   60, 1612, 1875, 1876, 1169,  799,  434,  723, 1014,
 1651, 1020,  661, 1029,  890, 1314,   61,  434, 1286,  434,
  930,  434,  890,  439,  946,  496, 1680, 1846, 1681,  798,
 1322, 1474, 1372,  385, 1667,  723,  906,  801,   95, 1998,
 1331, 1862,  753,  180,  180,  753, 2323, 1562, 1522,  914,
 1066,  399,  406,  411,  417, 1839,  675, 1802, 1596,  675,
 2068,  753,  317,  906,  616, 1611,  586,  317,  403, 1168,
  883, 1040, 2280, 1774, 2344, 1039, 2224,  297,  442,  883,
  180, 1617, 1587,  797,  965,  201,  442,  753, 1947, 1788,
  919, 1372,  956, 1888, 2490,  202, 2394, 2495, 2041,  482,
 1022,  437, 2292, 1371,  906, 1027, 2245, 2246, 1010, 1481,
 1319, 2042,  603,  914,  154,  799,  885, 1779, 1038, 1874,
 1920,  942,  906,  616, 2074, 2075,  180, 1927, 1039,  215,
 1320, 1639,  914, 2276, 1761,  885,  105, 2097,  798, 1772,
 1646, 2521,  753,  480, 1590, 1341, 2244,  966,  917,  906,
 1341, 1060, 2060, 1060, 1060, 1062, 1062, 1807,   60, 1921,
 1064, 1809,  753, 1062, 1062, 1522, 1812,  180,  906, 1064,
 2069,  181,  181,   61,   45,  753, 1111,   43,  930,  312,
  182,  182, 1543,  165, 1143, 1108, 1345, 1928, 1879,  917,
  229, 1783,  384,  257,  909,  257,  862,  918, 2044,  919,
  883, 2108,  824,  468, 1808, 2488, 2284,  917, 1586,  482,
 1670,  305,  845, 1066, 1851, 1538, 1844, 1946, 1372,  883,
  919,  434,  167,  482, 1274,  470, 1703, 2513, 1310, 1474,
  317,  406,  414, 1371, 2444,  334,  864, 1884,  317, 1880,
 1704, 1264,  165,  406,  317, 1203, 1333, 2229, 1954, 1637,
  414,   54,  332,  480,  817,  166, 1647,  496, 1794, 1121,
 1275, 1323, 1265, 1371, 1411, 1412,  912,  480, 1140,  335,
 1591,  317, 1066, 1885, 1383, 1225, 1147, 1955,  313,  617,
  481,  167, 1163, 1705,  470,  314,  317, 1142,  675,  317,
 1231, 1621, 2508, 2509,  668, 1116, 1290,  302,  434, 2541,
 1117,  618, 1248, 2228, 2370, 2371,  949,  912, 1781, 1186,
  912, 1706, 1794,  905,  166,  949,  496, 1281, 1474,  336,
  675,  670, 2079,  337, 1197,  912, 1291, 1200,  616,  919,
 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1881,  481,
 2489,  434,  151,  918, 2369, 1239,  434, 1841, 1372,  672,
  730, 1239, 1371, 2542,  905,  967, 2514,  339,  589, 1276,
  303, 1962,  675, 2546,  343, 2539, 1648, 2225, 1266,  949,
  949, 1319,  905, 1452, 1707, 1565, 1565,  906, 1372,  589,
 1325, 1326, 1249, 1898,  846, 2243, 1453,  918,  432,  487,
 1803, 1566, 1566, 1039, 1567, 1567, 2156, 2520,  906, 1371,
 1568, 1568, 1413, 1569, 1569, 2094, 2095, 1570, 1570,  730,
 1458,  501,  919, 2043, 2221, 2222,  675, 1647, 1858,  680,
 1267, 2379, 1116, 1114,  400, 1115, 1750, 1117,  918, 1443,
  257, 2024,  434, 2249,   16,  682,  949, 2130, 1897, 1341,
 2240, 2241,  423, 1753, 1754, 2230,  918, 2631,  487,  683,
  684,  685,  616,  425,  426,  949, 1385, 1592, 1250,  165,
  165, 1912,  917, 1647, 1202, 1341,  727, 1372, 1794, 1108,
 2626,  675,  688,  689,  690,  691,  692,  693,  694,  695,
  696,  881,  422,  917,  470,  589,  614,  698,  699,  470,
 1116, 1114,  897, 1115,  470, 1117,  703, 1522, 1251,  167,
 1804,  809, 1598,  809, 1923, 1475, 1108,  906,  824,  496,
  151,  151,  903,  880, 1372,  847,  321, 1306, 1654, 1268,
 1474,  496,  881,  459,  439,  727, 1454, 1842, 1794, 2540,
 1112, 1382,  166,  434, 2361, 1113, 1066,  589, 1670,  897,
  881,  342,  442,  651,  481,  434, 1936,  434,  283,  434,
 2188,  904, 2125,  165,  880,  862,  414, 2126,  615, 2296,
 1910, 1708, 2022,  432,  406, 1833,  614, 1203,  425,  426,
 1937,  906,  880, 2132,   54,  414,  317,  406, 1379, 1270,
  912, 1755, 1307, 1039, 1039, 1555, 2586,  283, 2588,  414,
  906,  317,  917,  317, 1571,  864, 1583, 2134,  434,  470,
 2598,  912,  809,  868, 2002, 1019,  729,  434,  257, 1911,
  848,  257, 2277,  470, 1518,   54, 1834,  884,  761,  496,
 1471, 1471, 1471,  875, 1471, 1471, 1471,  905,  257,  851,
 1584, 1528, 2625, 1142, 1588,  229,  589, 1655,  615, 1471,
 1471, 1471, 1116, 1114, 1599, 1115,  434, 1117,  905, 1634,
 1635, 1636, 1653,  487,  481, 1609, 1919, 1112, 1110, 2051,
 2051, 2055, 1113,  283,  849,  729, 1794, 2479,  481, 2123,
 1471, 2449, 1267, 1267,  434,  917,  470, 1320,  434, 1039,
 1320,  850,  805, 1656, 2288, 1693,  470,  460, 1116, 1114,
  897, 1115,  581, 1117,  229, 1320,  464, 1320, 2526, 1110,
 1271,  918, 1110,  283,  432,   54, 1040, 1272, 2397,  229,
  912,  375, 1373,  425,  426, 2351, 2486, 1110,  414,  715,
  488,  397,  918,  640, 1657, 1112,  484,  504, 2131, 1387,
 1113, 2360,  317, 1694, 1525, 1374, 2090, 2527, 2092, 2103,
 1116, 1114, 1224, 1115,  582, 1117,  459, 2242,  434,  317,
 1526, 1110, 2524,  652,  472,   54, 1695,  905,  912, 1040,
 1679,  505,  614,  487, 1116, 1114, 1759, 1115,  229, 1117,
 1638,   54,  604,   54,  912,  614, 1744,  487,  715,  488,
  637, 1789,  483,  637, 2528,  484,  504, 1665,  768, 1910,
 1375,  470,  592,  912,  652,  881,  897,  652,  637,  486,
  637, 2136, 1762, 1439, 1116, 1114, 1553, 1115,  641, 1117,
 1267,  220,  652,  998,  999,  487,  881,  995,  650, 1321,
  505,  905, 1369, 1368, 1370,  500, 1452,  880,  422, 1938,
 1173,  918, 1112,  221,  615, 1389,  592, 1113, 1913, 1453,
  905,  483, 2333,  642,  605,  629,  824,  615,  880,  517,
 1471,  592, 2400, 1939,  643,  862, 1471, 1454,  486,  881,
  489, 1471, 1959,  257, 1471,  494, 1825,  650,  881, 1823,
  220, 1857, 1826,  398,  434,  459, 1827, 1112,  630,  210,
  631,  442, 1113, 1452,  500, 1452, 1828,  414,  414, 2544,
  761,  880,  221,  229,  414,  864, 1453, 1452, 1453, 1471,
  880,  605,  632,  423, 2406,  229, 1203, 1471,  432,  897,
 1453,  881,  748, 1320,  918, 1471,  375,  414,  406,  411,
  414,  417,  300, 1112,  593,  881,  397,  633, 1113, 1452,
  509,  229, 1320, 1471,  897, 1471, 2585,  229,  210,  229,
  442,  761, 1453,  880, 1219, 2385, 1220, 1471, 1392, 1471,
 1471, 1471,  434, 2599,  211,   47,  945,  880,  868,  406,
  605,   54, 1889, 2552,  490,  459, 1127, 1914,  594,  609,
  396,  748, 2617, 1436, 1824, 1112, 1116, 1114,  229, 1115,
 1113, 1117, 2624, 2536,  488, 2627,  229,  375, 1135,  881,
  484, 1134,  485, 1110, 1369, 1368, 1370,  397, 1471, 1112,
 2632, 1949, 1086, 1039, 1113,  229, 1320, 1953,  881, 1966,
 1446,  432, 1111,  211,   47,  945,  637, 1151,  587,  586,
 1941,  880, 1446, 2571,  440, 1446,  375,   16,  609,  652,
  652, 2087,  817, 1355,  652,  637,  397,  652,  375, 1112,
  880, 2088,  586,  675, 1113,  495,  483, 1356,  397,  652,
 2499,  485,  229, 1111,  229,  434, 1111, 1967, 1110,  317,
  229,  890,  587,  486, 1104, 1105, 1106,  608,  292,  220,
  609, 1111, 2207, 2553,  595,  498,  434,  587,  398, 2051,
 2003,  220, 1357,  440,  675, 2554, 1497,  675, 1521,  961,
 1358,  221,  596,  229,  488,  229,  375, 1929, 1359, 1498,
  484,  432,  675,  221,  675, 1111,  397,  220,  488,  292,
  375,  610,  292,  220,  484,  220, 1360,  229, 1361,  618,
  397, 1069, 1499,  652,  921,  890,  597,  292, 1139,  221,
 1362, 1138, 1363, 1364, 1365,  221,  922,  221,  461,  229,
  458,  317,  229, 2555,  652,  434,  503,  127,  961,  398,
  652,  257, 1604,  673,  220,  504,  483, 2556,  809, 1993,
 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401,  512,  156,
  483,  462, 1502,  486,  918,  396,  221,  685,  618,  505,
 1069, 1366,  919,  140,  652, 1471,  533,  486,  398,  257,
 1454, 1071,  194, 1209,  673,  434, 1210,  673,  434,  458,
  398, 1212,  434,  534, 1216, 1355,  943,  325, 1221,  536,
  257, 1112,  673,  229,  673,  157, 1113,  685,  685, 1356,
 2062,  685,  538, 1193,  321,  758, 1192,  609,  156,  659,
  257,  406,  406,  257,  238,  145,  685,  664,  685,  609,
  414,  414,  414,  414, 2590, 2519,  396,  159,  257,  748,
 1071,  194,  926,  317, 1357, 1039,  485,  163,  398, 2497,
  927, 2498, 1358,  944, 1441,  943,  425,  426,  685, 1402,
 1359,  609,  398,  609,  157, 1816, 1441,  370, 1819, 1441,
  539,  748,  177, 2183,  758,  396, 1236,  551, 1360, 1235,
 1361, 2080,  326,  238,  145, 1403, 2141,  396,  970,  573,
 1440,  675, 1362, 1121, 1363, 1364, 1365,  748,   93,   94,
  748,  926,  652, 2146,  574,  220,  675, 2184, 2151,  927,
  675,  587,  944,  327,  675,  970,  748,  328,  606, 2185,
 1769, 1116, 1114,  588, 1115,  970, 1117,  221,  329,  675,
  626, 1489,   54,  257, 1488,  675,  257, 1111,  675,  625,
 1353, 1645,  748, 1366, 1644,  396,  628, 1342, 1342, 1281,
 1342, 1342, 1342,  257, 1306,  589,  485,  590, 1367,  396,
 1381,  637,  395,  649, 1386, 1666, 1302, 1391, 1341, 1292,
  485, 1116, 1114,  617, 1115, 1406, 1117, 1408, 1605, 1606,
  675, 1414, 1415,  152,  152, 1418, 1419, 1420, 1421, 1422,
 1426, 1432,  896, 1435,  317, 1438, 1342,  748,    6,    9,
  655,  673, 1111,  675,  656, 1444, 1445, 1446, 1447, 1448,
  768, 2578, 1993, 1455,  657,  768,  768,  748,  673,  673,
  673,  660, 2579, 2580,  673,  685,  896,  673, 2273, 1786,
  748,  661, 1121, 1792,  675,  814, 1791,  818,  896,  673,
  685,  675,  685,  685,  685,  673,  832, 1840,  685,  330,
 1644,  685, 2070, 2072,  820, 1454,  670, 2226,  827,  675,
  833,  321,  834,  685,  406, 1116, 1114,  835, 1115,  685,
 1117, 1900,  685,  837, 1899,  836, 1116, 1114,  838, 1115,
  840, 1117,  842, 1533,  844,  406, 2393, 1116, 1114,  675,
 1115, 1905, 1117,  675, 1904, 1944, 2365,  670, 1644, 2367,
  670,  317,  855, 1380,  856, 1384,  836,  317, 2040, 1388,
 1390, 1783, 1393,  673,  685,  670,  394,  670, 2059,  885,
  858, 1121,  459, 2320, 2061, 2083, 2155, 1121, 1644, 1121,
 1367, 2318, 2200,  317,  673, 1121,  857,  685, 1437, 2259,
  673, 2071, 2073, 2211,  432, 2262, 2210,  836,  860,  673,
  871,  673,  758,  879, 2353, 2340, 1112, 1121,  685, 2484,
  885, 1113, 1138, 2604,  685,  836, 1121,  395,  685,  673,
 2619, 2278,  878, 2618,  673,  685,  432, 2621,  885,  879,
 2620,  675, 1342,  317,  758,  881,  403, 1342,  434, 2255,
 2256,  768,  675,  685,  879, 1768,  320,  879,  685,  320,
  882, 1993,  904,  673, 1268,  904, 1112, 1268,  883, 2368,
  758, 1113,  879,  758,  887, 1269,  383,  434, 1269,  383,
 2345,  380,  675,  685,  380,  675,  889,  685,  902,  758,
  906, 1116, 1114,  923, 1115,  908, 1117,  914,  395,  915,
  675, 2376,  916, 2193,  928, 2378,  939, 1683, 1684, 1688,
  768,  942, 1697, 1699, 1701,  758, 1710, 1713, 1716,  955,
 1719, 1722, 1725,  957,  403,  683,  684,  685, 2362, 2363,
  958, 1732, 1733,  959, 1735,  960, 1737,  395,  964, 1740,
 1741, 1742, 1743, 1442, 1745, 1746, 1017, 1116, 1114,  395,
 1115, 1021, 1117,  693,  694, 1442,  361, 1025, 1442, 1030,
 1112, 1751,  673, 1756, 1065, 1113, 1067, 1068, 1069,  817,
  758, 1112, 1070, 1071,  670, 1072, 1113, 1078,  403, 1771,
  434,  394, 1112, 1479, 1073, 1074,  685, 1113, 1777, 1778,
  758,  670,  670,  670, 1076, 1479,  360,  670, 1479, 1749,
  670,  434, 1077,  758, 1079, 1080, 1083,  395, 1089, 1090,
 2028,  862,  670,  434, 1091, 1048, 1093, 1092,  670, 2392,
 1094,  395, 1095, 1096, 1321, 2501, 1097, 1342, 1342, 1342,
 1342, 1342, 1342, 1342, 1342, 1119, 1321,  415,  768, 1321,
 1098, 1326,  768, 1118, 1099, 1116, 1114,  768, 1115, 1100,
 1117,  864,  394, 1326,  416, 2469, 1326, 1331, 1331, 1048,
 1331, 1331, 1331, 1101, 1102,   54, 1103, 1122, 1123, 1121,
 1124, 2516, 1133, 1136, 1048, 1331, 1331, 1331, 1137, 1148,
  836, 1164,  403, 1180,  403,  434,  670, 1175,  399, 1166,
  836,  394,  836,  885, 1177, 1181, 1184, 2507, 1679, 1679,
  862,  836, 1212,  394, 1216, 1856, 1331,  670, 1187, 1191,
 1194, 1196, 1199,  670,  885, 1206, 1205,  675,  675, 1223,
 1222,  918,  675, 1232,  670,  675, 1112,  879, 1497,  909,
 1226, 1113, 1237, 1263,  399, 2518, 1342,  675, 1262,  879,
  864, 1498,  670, 1278,  836, 2081, 1282,  670,  879, 1285,
  890, 1292, 1293,  836, 1497, 1298, 1970,  885, 1299, 1300,
 1301,  394, 1342, 1303, 1499,  749, 1304, 1498, 1454, 1310,
 1316, 1679, 1317, 1324, 1335,  394,  670, 1500, 1337, 1338,
 1341, 1346, 1112, 1348,   54, 1501, 1340, 1113,  768, 2115,
 1499,  879, 1350, 1349,   54, 1352,  836, 1409, 2120, 1417,
  879, 1442, 1463, 1500, 1108,  581, 1464,  686,  836,  885,
  836,  675, 1116, 1114, 1502, 1115, 1466, 1117, 1311,  271,
  768, 2215,  766,  885,  749, 1454, 1476, 1454, 1477, 1478,
 1484, 1486,  675, 1490, 1495, 2140, 1523,  829,  675, 1454,
 1502,   16,  768,  879, 1541, 1536,  768,  686,  686,  768,
 1544,  686, 2611, 1138, 1548, 1973, 1974,  879, 1976, 1978,
  271, 1550, 1552,  271, 1554,  768,  686, 1984,  686, 1985,
 1561, 1454,  675, 1579,  836,  670, 1679, 1048,  271, 1111,
 1112, 1497, 1576,  882, 1585, 1113, 1331,  885, 1580, 1575,
 2007,  768, 1331,  836, 1498, 1581, 2012, 1331,  686, 2015,
 1331, 2016, 1756, 1600, 1603, 1756,  885, 1751, 1593, 1594,
 2166, 2023,  768, 2025, 1608, 1631, 1595, 1499, 1615, 1633,
 2026,  879, 2027, 1503,  882, 2030, 2031, 2032, 2033, 1048,
 1500, 2038, 1048, 1673, 1690, 1331, 1640, 1730, 2235, 1048,
  879, 1048,  882, 1331, 1642, 1048,  768, 1717, 1729, 1503,
 1048, 1331, 1736, 1048, 1738, 1387, 1387, 1278, 1387, 1387,
 1387, 1747, 1748, 1773, 1112, 1785,  768, 1502, 1048, 1331,
 1049, 1331, 1783, 1784, 1790, 1799, 1545, 1116, 1114,  768,
 1115, 1048, 1117, 1331, 2247, 1331, 1331, 1331, 1800, 1048,
 1810, 1805, 1048, 1048, 1811, 2254, 1814, 1820, 2257, 1821,
  675, 1698, 1048, 1702, 1387, 1711, 1714, 2261, 1829, 1720,
 1723, 1726, 1332, 1332, 1049, 1332, 1332, 1332, 1048, 1830,
 1831, 1832, 1116, 1114, 1836, 1115, 2105, 1117, 1838, 1049,
 1332, 1332, 1332, 1850, 1331, 2279, 1869, 2281, 1853, 2283,
 1048, 2285, 1859, 1647, 1877, 1048,  934, 1112, 1901, 1895,
 1903, 1909, 1113, 1906, 1915, 2236, 1048, 1048, 1916, 1048,
 1917, 1332, 1918, 1890, 1934,  686, 1935, 1410, 1410, 1279,
 1410, 1410, 1410, 1940,  272, 1667, 1503, 2173, 1951, 1956,
  686, 1957,  686,  686,  686, 1958, 1960, 1961,  686, 1968,
 1969,  686, 1971, 1965, 1972,  283,  271, 1980,  513, 1979,
 1981, 1982,  749,  686, 1983, 1986, 1048, 1987, 1988,  686,
 1989, 2152,  686, 1990, 1371,  272, 1410, 2158,  272, 1991,
 2018, 2046, 2162, 1048, 2021, 2029, 2047, 1048, 2063, 2167,
  514, 2168,  680,  272,  749, 2076, 2084, 2085, 2091, 2106,
 2109, 2110, 1048, 2111, 2112, 2113, 2354, 2355, 2356, 2119,
 2117, 2118, 1116, 1114,  686, 1115,  515, 1117, 2114,  516,
  749, 2121,  117,  749, 2122, 2391, 1116, 1114, 2390, 1115,
 1756, 1117,  883,  680, 1756,  517,  680,  686,  702,  749,
 2204, 2205, 2372, 1612, 2129, 2142, 2144, 2212, 2145,  283,
 1387,  680, 2150,  680, 2157, 1387, 2159,  882,  686,  127,
 2181,  518, 2182, 2189,  686,  749, 2213,  882,  686,  882,
  283,  133, 1112,  883, 2187,  686,  283, 1113,  882,  702,
 2196, 1331,  702,  680, 2197, 2214, 2216, 2217,  768, 2220,
 2231,  883, 1049,  686, 2223,  140, 2218,  702,  686,  702,
 2250, 1332,  837, 2233, 2251,  461, 2258, 1332, 2264, 2263,
  283,  675, 1332, 2265, 2266, 1332,  519, 1112, 2267, 2268,
  749,  882, 1113,  686, 2270, 2269, 2272,  686, 2271,  702,
  882, 2415, 2416, 2417, 2274, 2275,  520, 2420,  462, 2286,
  749, 2287, 2294,  837, 1049, 2289,  837, 1049, 2293,  521,
 1332, 2295,  675,  749, 1049,  675, 1049, 2298, 1332,  159,
 1049,  837, 1410, 2299, 2300, 1049, 1332, 1410, 1049,  163,
  675, 2297,  675,  882, 2301, 2305, 2306, 2302, 2303, 2307,
 2308, 2310, 2311, 1049, 1332, 2309, 1332,  882, 2312, 2313,
 2314, 1546, 1116, 1114,  177, 1115, 1049, 1117, 1332, 2315,
 1332, 1332, 1332, 2317, 1049, 2321, 2322, 1049, 1049, 1756,
  283,  272, 2346, 2324, 2349, 2350, 2229, 1049, 2327, 2328,
 2329, 2330, 2331, 2230, 2352, 2377,  686, 2332, 2366, 2383,
 2395, 2401, 2396, 1049, 2402, 1387, 1387, 1387, 1387, 1387,
 1387, 1387, 1387, 1116, 1114, 2403, 1115, 1112, 1117, 1332,
  680,  882, 1113, 2407, 2404, 1049, 2409, 2410, 2421, 2418,
 1049, 1112, 2357, 2419, 2422,  680, 1113,  680,  680,  680,
  882, 1049, 1049,  680, 1049, 2423,  680, 2304, 2424, 1739,
 1116, 1114, 2480, 1115, 2481, 1117, 2483, 2491,  680, 1439,
 1116, 1114, 2493, 1115,  680, 1117,  702,  680, 1116, 1114,
 2375, 1115, 2496, 1117,  283, 2503, 2504,  303, 2511, 2512,
 2515,  702, 2523, 2488,  702,  702, 2380, 2531, 2489,  702,
 2537, 1049,  702, 2543, 2547,  283, 1763, 1116, 1114, 2548,
 1115,  283, 1117, 1188,  702, 2567, 2568, 1106, 1049,  680,
  702, 2569, 1049,  702, 1387, 2570,  883, 1410, 1410, 1410,
 1410, 1410, 1410, 1410, 1410, 2572,  883, 1049,  883, 2573,
 2576, 2582,  680, 2584, 2575,  283, 2591,  883, 2595,  675,
 1387, 1764, 1116, 1114, 2596, 1115, 2597, 1117, 1106, 1106,
 1106, 1106, 1106,  680, 1106,  702, 2603,  675,  675,  680,
 2613, 2614,  675,  680, 2615,  675, 1106, 1106, 1106, 1106,
  680, 2612, 2425, 2616, 2426,  805, 2622,  675,  702,    1,
  883,  912,  806,  675,  241,   31,  837,   33,  680,  883,
  848, 2357, 1285,  680,  965,  311,  837, 1112,  837,  702,
 1106,   90, 1113,  198,  891,  702, 1332,  837, 1266,  702,
  872, 1110, 1109,  872,  828, 2505,  702,  253,  680, 1108,
  890,  970,  680, 1765, 1116, 1114, 1410, 1115,  874, 1117,
  226,  496,  883, 1164,  702,  534,  919, 1265,  227,  702,
  892, 1320, 1237,  455, 1163, 1236,  883,  901, 1112,  336,
  837,  675, 1410, 1113,    0,  320, 1766, 1116, 1114,  837,
 1115,  419, 1117,    2,  702,   15,  368,  405,  702,  369,
  406,  372,  675, 1767, 1116, 1114,  434, 1115,  675, 1117,
  373,  385,   12, 2532, 2534, 1112,   21,   23, 2165,  675,
 1113,   18,   18,   26,   29, 1112,   33,   35, 2440,   42,
 1113, 2441,  837, 1112,  506, 2442,   39,  675, 1113, 1165,
  883, 2443,  675, 2445,  837, 2551,  837, 2446, 1999, 1116,
 1114,  680, 1115, 2049, 1117,  507, 1519,  508, 1167,  883,
  826,  825, 1112, 1952, 1339, 1672, 2577, 1113, 2581,  473,
 1948,  675, 1950, 1610,  456, 1677, 1577, 1925, 2102, 1908,
 1943, 2534,  972, 1294,  874,  768, 1861, 2592, 2594, 2248,
 1926, 2098, 1257, 2494, 1106, 1106, 1106,  702,  936, 1106,
 2414, 1106, 1106, 2605,  937, 1106, 1106, 1112, 1106, 2492,
  837, 2530, 1113, 1106, 1106, 1573, 1795, 1106, 1106, 1106,
 1106, 1106, 1106, 2522, 2623, 1106, 2587, 2600, 1106,  837,
 1110, 2628, 2605, 2583, 2630, 1106, 2629, 1106, 1106, 1106,
 1106, 1106, 1106, 2506, 1106, 1106, 2478, 2545, 1106, 1468,
  944, 1106,  927, 1106, 1106, 1261,  917, 1106, 1106, 1106,
 1632, 1106, 2127, 1106, 1106, 1106, 1106, 1106, 1106,  311,
  675, 1618, 1106, 1106, 1106, 1106, 1106,  510,  859, 1318,
 1106, 1174, 1179, 1524, 2348,  901, 1852, 2487, 1106, 1112,
 1106, 1106, 1106, 1106, 1113, 1106, 1494, 2316, 1817, 1855,
 1106, 1106, 2525, 1106, 2234, 1106, 2180, 1106, 1106, 1106,
 1376, 1106, 2232, 1106, 1106, 1106, 1190, 1106, 1106, 1106,
 1106, 1106, 1112, 1106, 1106, 2485, 2470, 1113, 1106, 1106,
 2471, 1106, 1106, 1505, 1106, 1106, 1106, 1106, 1975, 1112,
 1106,  653, 1822, 1106, 1113, 1106, 1106, 1106, 1106, 1106,
  954, 1106, 1932, 1106, 2116, 1106, 1106, 1106, 1106, 1106,
 1082, 1863, 1106, 1106, 1106, 2037, 1106, 1106, 1106, 2000,
 1116, 1114,    0, 1115,  965, 1117, 2020, 1106, 1106, 1106,
    0, 1106, 1106, 1106, 1112,    0,    0, 1106,    0, 1113,
 1106,    0, 1106, 1106, 1106, 1106,    0, 1106,    0, 1106,
 1106, 1106, 1106, 1106, 1106, 1106, 1106,    0, 1422, 1422,
    0, 1422, 1422, 1422,    0,  965, 1106, 1106,  965, 1106,
 1106, 1106,    0,    0,    0, 1422, 1106, 1106, 1106, 1106,
 1106,    0, 1106,  965,    0, 1106, 1106, 1106, 1106, 1106,
 1106, 1106,    0,    0,    0, 1106, 1106, 1106, 1106, 1106,
 1106, 1106, 1106,    0, 1106,    0,    0, 1422, 1116, 1114,
 1760, 1115,    0, 1117, 1106, 1106, 1106, 1106, 1106, 1106,
 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
 1106, 1106, 1106, 1106, 1106,    0, 1106, 1106, 1106, 1106,
 1106, 1106,    0, 1106, 1106, 1106, 1106,    0, 1106,    0,
 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1313, 1106,
 1106, 1106, 1106,    0, 1106, 1106, 1106, 1106, 1106,    0,
 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
 1106, 1106, 1106, 1106, 1106,    0, 1106, 1106, 1106, 1106,
 1106,    0, 1106,    0,    0,    0,    1,    0, 1287, 1313,
 1313, 1313, 1313, 1313, 1313, 1313, 2005, 1116, 1114,    0,
 1115,    0, 1117,    0,    2,    0, 1313, 1313, 1313, 1313,
 1313,    0,    3,    0,    0,    0,    0,    0,    0,   75,
    4,    0,    5, 1116, 1114, 1776, 1115,    6, 1117,   76,
    0,    0,    0,    0,    7, 1112,   77,    0,    0, 1313,
 1113, 1313,    0,    0,    0,    0,    0,    0,    8,   78,
    0,    0,    0, 2006, 1116, 1114,    0, 1115,    9, 1117,
 1422,    0,  839,    0, 2008, 1116, 1114,    0, 1115,    0,
 1117,    0,    0, 1422,    0,  839,    0,    0, 1422,    0,
  965,  965,    0,  839,    0,    0,   10,    0,  965, 1394,
 1395, 1396, 1397, 1398, 1399, 1400, 1401,    0,  839,    0,
    0,    0,    0,    0,    0,   79,    0,    0, 2009, 1116,
 1114,  839, 1115,    0, 1117,    0,    0,    0,    0,    0,
   11,   80,    0, 1112,    0,    0,    0,   12, 1113,    0,
   13, 1422,    0,   14,    0,    0,    0,   81,    0,    0,
 2010, 1116, 1114,    0, 1115,    0, 1117,    0,  839,    0,
    0,    0,   82,    0,    0,    0,   83,   15,    0,   84,
    0,   85,    0,    0,    0,    0,    0,   86,    0,   16,
 1422,    0,    0,    0,  965,    0,    0,    0,  965,    0,
    0,    0, 1422, 2011, 1116, 1114,   87, 1115,    0, 1117,
    0,    0,    0,    0,    0,  965,    0,    0, 1402,    0,
    0,  965,    0,    0,    0, 1313,   17, 1313,    0,    0,
 1313,    0, 1313, 1313,    0,    0, 1313, 1313,    0, 1313,
    0,   18,   19,    0, 1403, 1313,    0,    0, 1313, 1313,
 1313, 1313, 1112, 1313,    0,  965, 1313, 1113,    0, 1313,
 1422,    0,   88,   20,    0,   89, 1313,    0, 1313, 1313,
    0, 1313, 1313, 1313, 1422, 1313, 1313,  839, 1112, 1313,
    0,    0, 1313, 1113, 1313, 1313,    0,    0, 1313, 1313,
 1313,    0, 1313,    0, 1313, 1313, 1313, 1313, 1313, 1313,
    0,    0,    0, 1313, 1313, 1313, 1313, 1313,   90, 1112,
    0, 1313,    0,    0, 1113,  965,    0,  838,    0, 1313,
 1112, 1313, 1313, 1313, 1313, 1113, 1313,    0,    0,    0,
    0, 1313, 1313,    0, 1313,    0, 1313,    0, 1313, 1313,
 1313,    0, 1313,    0, 1313, 1313, 1313,    0, 1313, 1313,
 1313, 1313, 1313,   21, 1313, 1313,    0,    0,  838,    0,
 1313,  838, 1313, 1313, 1112,    0, 1313, 1313, 1313, 1113,
    0, 1313,    0,    0, 1313,    0,  838, 1313, 1313, 1313,
 1313,    0, 1313,    0, 1313,    0, 1313, 1313, 1313, 1313,
 1313,    0,    0, 1313, 1313, 1313, 1112, 1313, 1313, 1092,
 1092, 1113, 1092,    0, 1092,  297,    0,    0, 1313, 1313,
 1313,    0, 1313, 1313, 1313,    0, 1092,    0, 1313,    0,
    0, 1313,    0, 1313, 1313, 1313, 1313,    0, 1313,    0,
 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,    0, 1112,
    0,    0,    0,    0, 1113,    0,  297, 1313, 1313,  297,
 1313, 1313, 1313,    0,    0,    0,    0, 1313, 1313, 1313,
 1313, 1313,    0, 1313,  297,    0, 1313, 1313, 1313, 1313,
 1313, 1313, 1313,    0,    0,    0, 1313, 1313, 1313, 1313,
 1313, 1313, 1313, 1313,    0, 1313, 2013, 1116, 1114,    0,
 1115,    0, 1117,    0,    0, 1313, 1313, 1313, 1313, 1313,
 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
 1313, 1313, 1313, 1313, 1313, 1313,    0, 1313, 1313, 1313,
 1313, 1313, 1313,    0, 1313, 1313, 1313, 1313,    0, 1313,
    0, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1353,
 1313, 1313, 1313, 1313,    0, 1313, 1313, 1313, 1313, 1313,
    0, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
 1313, 1313, 1313, 1313, 1313, 1313,    0, 1313, 1313, 1313,
 1313, 1313, 1313, 1313,    0,    0,    0,    0,    0, 1177,
 1353, 1353, 1353, 1353, 1353, 1353, 1353,    0,    0,  553,
    0,    0,    0,    0,    0,    0,    0, 1353, 1353, 1353,
 1353, 1353,    0,    0,    0,  554,    0,    0,    0,    0,
    0, 1092,    0,    0,    0,  555,    0,    0,    0,    0,
    0,  838,  556,    0, 1092,    0,  557,  558,    0, 1092,
 1353,  838, 1353,  838,    0,  559,    0,    0,    0,    0,
    0,    0,  838,    0,    0,  872,  560,    0, 2014, 1116,
 1114,    0, 1115,    0, 1117, 2190, 1116, 1114,    0, 1115,
    0, 1117,    0, 2191, 1116, 1114,    0, 1115,    0, 1117,
    0,  297,  297,    0,    0,    0,    0,    0,    0,  297,
    0,    0, 1092,    0,    0,  838,    0,    0,    0,    0,
    0, 2192, 1116, 1114,  838, 1115,    0, 1117,    0,  561,
 2199, 1116, 1114,    0, 1115,    0, 1117,  562,    0,    0,
    0,    0, 1112,    0,    0,    0,    0, 1113,    0,    0,
    0, 1092,    0,    0,    0,    0, 2202, 1116, 1114,    0,
 1115,    0, 1117, 1092,    0,    0,    0,  838,  563,    0,
    0,    0,  564,    0,    0,    0, 2203, 1116, 1114,  838,
 1115,  838, 1117,  565,    0,    0,    0, 2325, 1116, 1114,
    0, 1115,    0, 1117,    0,  297,    0,    0,    0,    0,
    0,    0,  566,  567, 2326, 1116, 1114,    0, 1115,    0,
 1117,    0,    0,    0,    0,    0,  297,    0,    0,    0,
    0, 1092,  297,    0,    0,    0, 1353,    0, 1353,    0,
    0, 1353,    0, 1353, 1353, 1092,    0, 1353, 1353,    0,
 1353,    0,    0,    0,    0,  838, 1353,    0,    0, 1353,
 1353, 1353, 1353,    0, 1353,    0,  297, 1353,  568,    0,
 1353,  569,    0,    0,  838,    0,    0, 1353,    0, 1353,
 1353,    0, 1353, 1353, 1353,    0, 1353, 1353,    0,    0,
 1353,    0,    0, 1353,    0, 1353, 1353,    0,    0, 1353,
 1353, 1353,    0, 1353,    0, 1353, 1353, 1353, 1353, 1353,
 1353,    0,    0,    0, 1353, 1353, 1353, 1353, 1353,    0,
    0,    0, 1353,    0, 1112,    0,  297,    0,  876, 1113,
 1353, 1112, 1353, 1353, 1353, 1353, 1113, 1353,    0, 1112,
    0,    0, 1353, 1353, 1113, 1353,    0, 1353,    0, 1353,
 1353, 1353,    0, 1353,    0, 1353, 1353, 1353,    0, 1353,
 1353, 1353, 1353, 1353,    0, 1353, 1353, 1112,    0,  876,
    0, 1353, 1113, 1353, 1353,    0, 1112, 1353, 1353, 1353,
    0, 1113, 1353,    0,    0, 1353,    0,  876, 1353, 1353,
 1353, 1353,    0, 1353,    0, 1353,    0, 1353, 1353, 1353,
 1353, 1353, 1112,    0, 1353, 1353, 1353, 1113, 1353, 1353,
    0, 2386, 1116, 1114,    0, 1115,  293, 1117,    0, 1353,
 1353, 1353, 1112, 1353, 1353, 1353,    0, 1113,    0, 1353,
    0,    0, 1353, 1112, 1353, 1353, 1353, 1353, 1113, 1353,
    0, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,    0,
 1112, 1116, 1114,    0, 1115, 1113, 1117,  293, 1353, 1353,
  293, 1353, 1353, 1353,    0,    0,    0,    0, 1353, 1353,
 1353, 1353, 1353,    0, 1353,  293,    0, 1353, 1353, 1353,
 1353, 1353, 1353, 1353,    0,    0,    0, 1353, 1353, 1353,
 1353, 1353, 1353, 1353, 1353,    0, 1353, 2387, 1116, 1114,
    0, 1115,    0, 1117,    0,    0, 1353, 1353, 1353, 1353,
 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,
 1353, 1353, 1353, 1353, 1353, 1353, 1353,    0, 1353, 1353,
 1353, 1353, 1353, 1353,    0, 1353, 1353, 1353, 1353,    0,
 1353,    0, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,
 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,
 1355, 1353, 1353, 1353, 1353,    0, 1353, 1353, 1353, 1353,
 1353,    0, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,
 1353, 1353, 1353, 1353, 1353, 1353, 1353,    0, 1353, 1353,
 1353, 1353, 1353, 1353, 1353,    0,    0,    0,    0,    0,
 1178, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 2388, 1116,
 1114,    0, 1115,    0, 1117,    0,    0,    0, 1355, 1355,
 1355, 1355, 1355,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 2389, 1116, 1114,    0, 1115,    0,
 1117,    0,  876, 1116, 1114, 2035, 1115, 1112, 1117,    0,
    0, 1355, 1113, 1355,  876,    0,    0,    0,    0,    0,
    0,    0,    0,  876, 2500, 1116, 1114,    0, 1115,    0,
 1117,    0,    0, 1734,    0,    0, 2574, 1116, 1114,    0,
 1115,    0, 1117,    0,    0,    0, 1112,    0,    0,    0,
    0, 1113,  293,  293,    0,    0,    0,    0,    0,    0,
  293,    0,    0,    0,    0,    0,  876,    0,    0,    0,
    0,    0,    0,    0,    0,  876, 1116, 1114, 2201, 1115,
    0, 1117, 1116, 1114, 2206, 1115,    0, 1117,    0,    0,
    0,    0,    0, 1112,    0,    0,    0,    0, 1113,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1116, 1114,
 2208, 1115,    0, 1117,    0,    0,    0,    0,  876, 1116,
 1114, 2209, 1115,    0, 1117,    0,    0,    0, 1116, 1114,
    0, 1115,  876, 1117,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  293,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  293,    0,    0,
    0,    0,    0,  293,    0,    0,    0, 1355,    0, 1355,
    0,    0, 1355,    0, 1355, 1355,    0,    0, 1355, 1355,
    0, 1355,    0,    0,    0,    0,  876, 1355,    0,    0,
 1355, 1355, 1355, 1355, 1112, 1355,    0,  293, 1355, 1113,
    0, 1355,    0,    0,    0,  876,    0,    0, 1355,    0,
 1355, 1355,    0, 1355, 1355, 1355,    0, 1355, 1355,    0,
 1112, 1355,    0,    0, 1355, 1113, 1355, 1355, 1112,    0,
 1355, 1355, 1355, 1113, 1355,    0, 1355, 1355, 1355, 1355,
 1355, 1355,    0,    0,    0, 1355, 1355, 1355, 1355, 1355,
 1112,    0,    0, 1355,    0, 1113,    0,  293,    0,  875,
    0, 1355, 1112, 1355, 1355, 1355, 1355, 1113, 1355,    0,
    0,    0,    0, 1355, 1355,    0, 1355,    0, 1355,    0,
 1355, 1355, 1355,    0, 1355,    0, 1355, 1355, 1355,    0,
 1355, 1355, 1355, 1355, 1355,    0, 1355, 1355,    0,    0,
  875, 1112, 1355,    0, 1355, 1355, 1113, 1112, 1355, 1355,
 1355,    0, 1113, 1355,    0,    0, 1355,    0,  875, 1355,
 1355, 1355, 1355,    0, 1355,    0, 1355,    0, 1355, 1355,
 1355, 1355, 1355, 1112,    0, 1355, 1355, 1355, 1113, 1355,
 1355,    0,    0,    0, 1112,    0,    0,  294,    0, 1113,
 1355, 1355, 1355, 1112, 1355, 1355, 1355,    0, 1113,    0,
 1355,    0,    0, 1355,    0, 1355, 1355, 1355, 1355,    0,
 1355,    0, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355,
    0,    0,    0,    0,    0,    0,    0,    0,  294, 1355,
 1355,  294, 1355, 1355, 1355,    0,    0,    0,    0, 1355,
 1355, 1355, 1355, 1355,    0, 1355,  294,    0, 1355, 1355,
 1355, 1355, 1355, 1355, 1355,    0,    0,    0, 1355, 1355,
 1355, 1355, 1355, 1355, 1355, 1355,    0, 1355,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1355, 1355, 1355,
 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355,
 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355,    0, 1355,
 1355, 1355, 1355, 1355, 1355,    0, 1355, 1355, 1355, 1355,
    0, 1355,    0, 1355, 1355, 1355, 1355, 1355, 1355, 1355,
 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355,
 1355, 1357, 1355, 1355, 1355, 1355,    0, 1355, 1355, 1355,
 1355, 1355,    0, 1355, 1355, 1355, 1355, 1355, 1355, 1355,
 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355,    0, 1355,
 1355, 1355, 1355, 1355, 1355, 1355,    0,    0,    0,    0,
   59, 1179, 1357, 1357, 1357, 1357, 1357, 1357, 1357,    0,
    0,    0,    0,    0,    0,    0,   60,    0,   97, 1357,
 1357, 1357, 1357, 1357,    0,   98,   61,    0,    0,   99,
  100,    0,    0,   62,    0,    0,    0,   63,  101, 2153,
 2154,    0,    0,  875,    0,    0,    0, 2160, 2161,  102,
 2163, 2164, 1357,    0, 1357,  875,    0,   64,    0, 2169,
 2170, 2171, 2172,    0,  875, 2174, 2175, 2176, 2177, 2178,
 2179,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  294,  294,    0,    0,    0,    0,    0,
    0,  294,    0,    0,    0,    0,    0,  875,    0,    0,
  103,    0,    0,    0,    0,    0,  875,    0,   65,    0,
    0,    0,    0,    0,    0,    0,  104,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  105,    0,    0,    0,  106,    0,    0,    0,   66,
  107,    0,    0,   67,    0,    0,  108,    0,   68,  875,
    0,    0,    0,    0,   69,    0,    0,    0,    0,    0,
    0,    0,    0,  875,    0,  109,    0,    0,    0,    0,
    0,    0,    0,   70,    0,    0,    0,  294,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  294,    0,
    0,    0,    0,    0,  294,    0,    0,    0, 1357,    0,
 1357,    0,    0, 1357,    0, 1357, 1357,    0,    0, 1357,
 1357,  110, 1357,    0,  111,    0,    0,  875, 1357,   71,
    0, 1357, 1357, 1357, 1357,    0, 1357,    0,  294, 1357,
    0,    0, 1357,    0,    0,    0,  875,    0,    0, 1357,
    0, 1357, 1357,    0, 1357, 1357, 1357,    0, 1357, 1357,
    0,    0, 1357,    0,    0, 1357,    0, 1357, 1357,    0,
    0, 1357, 1357, 1357,    0, 1357,    0, 1357, 1357, 1357,
 1357, 1357, 1357,    0,    0,    0, 1357, 1357, 1357, 1357,
 1357,    0,    0,    0, 1357,    0,    0,    0,  294,    0,
    0,    0, 1357,    0, 1357, 1357, 1357, 1357,    0, 1357,
    0,    0,    0,    0, 1357, 1357,    0, 1357,    0, 1357,
    0, 1357, 1357, 1357,    0, 1357,    0, 1357, 1357, 1357,
    0, 1357, 1357, 1357, 1357, 1357,    0, 1357, 1357,    0,
    0,    0,    0, 1357, 1432, 1357, 1357,    0,    0, 1357,
 1357, 1357,    0,    0, 1357,    0,    0, 1357,    0,    0,
 1357, 1357, 1357, 1357,    0, 1357,    0, 1357,    0, 1357,
 1357, 1357, 1357, 1357,    0,    0, 1357, 1357, 1357,    0,
 1357, 1357,    0,    0,  253, 1432,    0,    0, 1432,    0,
    0, 1357, 1357, 1357,    0, 1357, 1357, 1357,    0,    0,
    0, 1357,    0, 1432, 1357,    0, 1357, 1357, 1357, 1357,
    0, 1357,    0, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
 1357,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1357, 1357,    0, 1357, 1357, 1357,    0,    0,    0,    0,
 1357, 1357, 1357, 1357, 1357,    0, 1357,    0,    0, 1357,
 1357, 1357, 1357, 1357, 1357, 1357,    0,    0,    0, 1357,
 1357, 1357, 1357, 1357, 1357, 1357, 1357,    0, 1357,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1357, 1357,
 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,    0,
 1357, 1357, 1357, 1357, 1357, 1357,    0, 1357, 1357, 1357,
 1357,    0, 1357,    0, 1357, 1357, 1357, 1357, 1357, 1357,
 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
 1357, 1357, 1358, 1357, 1357, 1357, 1357,    0, 1357, 1357,
 1357, 1357, 1357,    0, 1357, 1357, 1357, 1357, 1357, 1357,
 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,    0,
 1357, 1357, 1357, 1357, 1357, 1357, 1357,    0,    0,    0,
    0,    0, 1180, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
  264,    0,    0,  264,    0,    0,    0,    0,    0,    0,
 1358, 1358, 1358, 1358, 1358,    0,  264,    0,    0,    0,
  264,    0,  264,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1432, 1432,    0, 1358,    0, 1358,    0,    0, 1432,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1432,    0,  264,    0,    0,    0,    0,    0,  264,  264,
  264,    0,  264,  264,  264,    0,  264,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  264,    0,  264,    0,    0, 1342,    0,
    0,  974,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1343,    0,    0,    0,  975,    0,
  976,    0,    0,    0,  264,    0,    0,    0,    0,   89,
    0,    0,    0,    0, 1432,    0,    0,    0,    0,    0,
    0,  264,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1432,    0,    0,    0,    0,
  977, 1432,    0,  264,    0,    0,  978,  979,  980,    0,
  981,  982,  983,    0,  984,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  985,    0,  986,    0, 1432,    0,    0,  264,  264,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1358,
    0, 1358,    0,    0, 1358,  264, 1358, 1358,    0,    0,
 1358, 1358,  987, 1358,    0,    0,    0,    0,    0, 1358,
    0,    0, 1358, 1358, 1358, 1358,    0, 1358,    0,  988,
 1358,    0,    0, 1358,    0,    0,    0,    0,    0,    0,
 1358,    0, 1358, 1358,    0, 1358, 1358, 1358,    0, 1358,
 1358,  989,    0, 1358,    0,    0, 1358,    0, 1358, 1358,
    0,    0, 1358, 1358, 1358,    0, 1358,    0, 1358, 1358,
 1358, 1358, 1358, 1358,    0,    0,    0, 1358, 1358, 1358,
 1358, 1358,    0,    0,    0, 1358,  990,  991,    0,    0,
    0,    0,    0, 1358,    0, 1358, 1358, 1358, 1358,    0,
 1358,    0,    0,  992,    0, 1358, 1358,    0, 1358,    0,
 1358,    0, 1358, 1358, 1358,    0, 1358,    0, 1358, 1358,
 1358,    0, 1358, 1358, 1358, 1358, 1358,    0, 1358, 1358,
    0,    0,    0,    0, 1358, 1377, 1358, 1358,    0,    0,
 1358, 1358, 1358,    0,    0, 1358,    0,    0, 1358,    0,
    0, 1358, 1358, 1358, 1358,    0, 1358,    0, 1358,    0,
 1358, 1358, 1358, 1358, 1358,    0,    0, 1358, 1358, 1358,
    0, 1358, 1358,    0,    0,    0, 1377,    0,    0, 1377,
    0,    0, 1358, 1358, 1358,    0, 1358, 1358, 1358,    0,
    0,    0, 1358,    0, 1377, 1358,    0, 1358, 1358, 1358,
 1358,    0, 1358,    0, 1358, 1358, 1358, 1358, 1358, 1358,
 1358, 1358,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1358, 1358,    0, 1358, 1358, 1358,    0,    0,    0,
    0, 1358, 1358, 1358, 1358, 1358,    0, 1358,    0,    0,
 1358, 1358, 1358, 1358, 1358, 1358, 1358,    0,    0,    0,
 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,    0, 1358,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1358,
 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
    0, 1358, 1358, 1358, 1358, 1358, 1358,    0, 1358, 1358,
 1358, 1358,    0, 1358,    0, 1358, 1358, 1358, 1358, 1358,
 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
 1358, 1358, 1358, 1359, 1358, 1358, 1358, 1358,    0, 1358,
 1358, 1358, 1358, 1358,    0, 1358, 1358, 1358, 1358, 1358,
 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
    0, 1358, 1358, 1358, 1358, 1358, 1358, 1358,    0,    0,
    0,    0,    0, 1181, 1359, 1359, 1359, 1359, 1359, 1359,
 1359,  264,    0,    0,  264,    0,    0,    0,    0,    0,
    0, 1359, 1359, 1359, 1359, 1359,    0,  264,    0,    0,
    0,  264,    0,  264,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1377, 1377,    0, 1359,    0, 1359,    0,    0, 1377,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1377,    0,  264,    0,    0,    0,    0,    0,  264,
  264,  264,    0,  264,  264,  264,    0,  264,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  264,    0,  264,    0,    0,  973,
    0,    0,  974,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  975,
    0,  976,    0,    0,    0,  264,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1377,    0,    0,    0,    0,
    0,    0,  264,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1377,    0,    0,    0,
    0,  977, 1377,    0,  264,    0,    0,  978,  979,  980,
    0,  981,  982,  983,    0,  984,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  985,    0,  986,    0, 1377,    0,    0,  264,
  264,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1359,    0, 1359,    0,    0, 1359,  264, 1359, 1359,    0,
    0, 1359, 1359,  987, 1359,    0,    0,    0,    0,    0,
 1359,    0,    0, 1359, 1359, 1359, 1359,    0, 1359,    0,
  988, 1359,    0,    0, 1359,    0,    0,    0,    0,    0,
    0, 1359,    0, 1359, 1359,    0, 1359, 1359, 1359,    0,
 1359, 1359,  989,    0, 1359,    0,    0, 1359,    0, 1359,
 1359,    0,    0, 1359, 1359, 1359,    0, 1359,    0, 1359,
 1359, 1359, 1359, 1359, 1359,    0,    0,    0, 1359, 1359,
 1359, 1359, 1359,    0,    0,    0, 1359,  990,  991,    0,
    0,    0,    0,    0, 1359,    0, 1359, 1359, 1359, 1359,
    0, 1359,    0,    0,  992,    0, 1359, 1359,    0, 1359,
    0, 1359,    0, 1359, 1359, 1359,    0, 1359,    0, 1359,
 1359, 1359,    0, 1359, 1359, 1359, 1359, 1359,    0, 1359,
 1359,    0,    0,    0,    0, 1359,  635, 1359, 1359,    0,
    0, 1359, 1359, 1359,    0,    0, 1359,    0,    0, 1359,
    0,    0, 1359, 1359, 1359, 1359,    0, 1359,    0, 1359,
    0, 1359, 1359, 1359, 1359, 1359,    0,    0, 1359, 1359,
 1359,    0, 1359, 1359,    0,    0,    0,  635,    0,    0,
  635,    0,    0, 1359, 1359, 1359,    0, 1359, 1359, 1359,
    0,    0,    0, 1359,    0,  635, 1359,    0, 1359, 1359,
 1359, 1359,    0, 1359,    0, 1359, 1359, 1359, 1359, 1359,
 1359, 1359, 1359,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1359, 1359,    0, 1359, 1359, 1359,    0,    0,
    0,    0, 1359, 1359, 1359, 1359, 1359,    0, 1359,    0,
    0, 1359, 1359, 1359, 1359, 1359, 1359, 1359,    0,    0,
    0, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,    0,
 1359,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
 1359,    0, 1359, 1359, 1359, 1359, 1359, 1359,    0, 1359,
 1359, 1359, 1359,    0, 1359,    0, 1359, 1359, 1359, 1359,
 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
 1359, 1359, 1359, 1359, 1360, 1359, 1359, 1359, 1359,    0,
 1359, 1359, 1359, 1359, 1359,    0, 1359, 1359, 1359, 1359,
 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
 1359,    0, 1359, 1359, 1359, 1359, 1359, 1359, 1359,    0,
    0,    0,    0,    0, 1182, 1360, 1360, 1360, 1360, 1360,
 1360, 1360,  162,    0,    0,  162,    0,    0,    0,    0,
    0,    0, 1360, 1360, 1360, 1360, 1360,    0,    0,    0,
    0,    0,  162,    0,  162,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  635,  635,    0, 1360,    0, 1360,    0,    0,
  635,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  635,    0,  162,    0,    0,    0,    0,    0,
  162,  162,  162,    0,  162,  162,  162,    0,  162,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  162,    0,  162,    0,    0,
  264,    0,    0,  264,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  264,    0,  264,    0,    0,    0,  162,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  635,    0,    0,    0,
    0,    0,    0,  162,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  635,    0,    0,
    0,    0,  264,  635,    0,  162,    0,    0,  264,  264,
  264,    0,  264,  264,  264,    0,  264,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  264,    0,  264,    0,  635,    0,    0,
  162,  162,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1360,    0, 1360,    0,    0, 1360,  162, 1360, 1360,
    0,    0, 1360, 1360,  264, 1360,    0,    0,    0,    0,
    0, 1360,    0,    0, 1360, 1360, 1360, 1360,    0, 1360,
    0,  264, 1360,    0,    0, 1360,    0,    0,    0,    0,
    0,    0, 1360,    0, 1360, 1360,    0, 1360, 1360, 1360,
    0, 1360, 1360,  264,    0, 1360,    0,    0, 1360,    0,
 1360, 1360,    0,    0, 1360, 1360, 1360,    0, 1360,    0,
 1360, 1360, 1360, 1360, 1360, 1360,    0,    0,    0, 1360,
 1360, 1360, 1360, 1360,    0,    0,    0, 1360,  264,  264,
    0,    0,    0,    0,    0, 1360,    0, 1360, 1360, 1360,
 1360,    0, 1360,    0,    0,  264,    0, 1360, 1360,    0,
 1360,    0, 1360,    0, 1360, 1360, 1360,    0, 1360,    0,
 1360, 1360, 1360,    0, 1360, 1360, 1360, 1360, 1360,    0,
 1360, 1360,    0,    0,    0,    0, 1360,  675, 1360, 1360,
    0,    0, 1360, 1360, 1360,    0,    0, 1360,    0,    0,
 1360,    0,    0, 1360, 1360, 1360, 1360,    0, 1360,    0,
 1360,    0, 1360, 1360, 1360, 1360, 1360,    0,    0, 1360,
 1360, 1360,    0, 1360, 1360,    0,    0,    0,  675,    0,
    0,  675,    0,    0, 1360, 1360, 1360,    0, 1360, 1360,
 1360,    0,    0,    0, 1360,    0,  675, 1360,    0, 1360,
 1360, 1360, 1360,    0, 1360,    0, 1360, 1360, 1360, 1360,
 1360, 1360, 1360, 1360,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1360, 1360,    0, 1360, 1360, 1360,    0,
    0,    0,    0, 1360, 1360, 1360, 1360, 1360,    0, 1360,
    0,    0, 1360, 1360, 1360, 1360, 1360, 1360, 1360,    0,
    0,    0, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
    0, 1360,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
 1360, 1360,    0, 1360, 1360, 1360, 1360, 1360, 1360,    0,
 1360, 1360, 1360, 1360,    0, 1360,    0, 1360, 1360, 1360,
 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
 1360, 1360, 1360, 1360, 1360, 1361, 1360, 1360, 1360, 1360,
    0, 1360, 1360, 1360, 1360, 1360,    0, 1360, 1360, 1360,
 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
 1360, 1360,    0, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
    0,    0,    0,    0,    0, 1183, 1361, 1361, 1361, 1361,
 1361, 1361, 1361,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1361, 1361, 1361, 1361, 1361,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  675,  675,    0, 1361,    0, 1361,    0,
    0,  675,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  675,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  675,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  675,    0,
    0,    0,    0,    0,  675,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  675,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1361,    0, 1361,    0,    0, 1361,    0, 1361,
 1361,    0,    0, 1361, 1361,    0, 1361,    0,    0,    0,
    0,    0, 1361,    0,    0, 1361, 1361, 1361, 1361,    0,
 1361,    0,    0, 1361,    0,    0, 1361,    0,    0,    0,
    0,    0,    0, 1361,    0, 1361, 1361,    0, 1361, 1361,
 1361,    0, 1361, 1361,    0,    0, 1361,    0,    0, 1361,
    0, 1361, 1361,    0,    0, 1361, 1361, 1361,    0, 1361,
    0, 1361, 1361, 1361, 1361, 1361, 1361,    0,    0,    0,
 1361, 1361, 1361, 1361, 1361,    0,    0,    0, 1361,    0,
    0,    0,    0,    0,    0,    0, 1361,    0, 1361, 1361,
 1361, 1361,    0, 1361,    0,    0,    0,    0, 1361, 1361,
    0, 1361,    0, 1361,    0, 1361, 1361, 1361,    0, 1361,
    0, 1361, 1361, 1361,    0, 1361, 1361, 1361, 1361, 1361,
    0, 1361, 1361,    0,    0,    0,    0, 1361,  165, 1361,
 1361,    0,    0, 1361, 1361, 1361,    0,    0, 1361,    0,
    0, 1361,    0,    0, 1361, 1361, 1361, 1361,    0, 1361,
    0, 1361,    0, 1361, 1361, 1361, 1361, 1361,    0,    0,
 1361, 1361, 1361,    0, 1361, 1361,    0,    0,    0,  165,
    0,    0,  165,    0,    0, 1361, 1361, 1361,    0, 1361,
 1361, 1361,    0,    0,    0, 1361,    0,  165, 1361,    0,
 1361, 1361, 1361, 1361,    0, 1361,    0, 1361, 1361, 1361,
 1361, 1361, 1361, 1361, 1361,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1361, 1361,    0, 1361, 1361, 1361,
    0,    0,    0,    0, 1361, 1361, 1361, 1361, 1361,    0,
 1361,    0,    0, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
    0,    0,    0, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
 1361,    0, 1361,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
 1361, 1361, 1361,    0, 1361, 1361, 1361, 1361, 1361, 1361,
    0, 1361, 1361, 1361, 1361,    0, 1361,    0, 1361, 1361,
 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
 1361, 1361, 1361, 1361, 1361, 1361, 1362, 1361, 1361, 1361,
 1361,    0, 1361, 1361, 1361, 1361, 1361,    0, 1361, 1361,
 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
 1361, 1361, 1361,    0, 1361, 1361, 1361, 1361, 1361, 1361,
 1361,    0,    0,    0,    0,    0, 1184, 1362, 1362, 1362,
 1362, 1362, 1362, 1362,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1362, 1362, 1362, 1362, 1362,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  165,  165,    0, 1362,    0, 1362,
    0,    0,  165,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  165,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  165,
    0,    0,    0,    0,    0,  165,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  165,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1362,    0, 1362,    0,    0, 1362,    0,
 1362, 1362,    0,    0, 1362, 1362,    0, 1362,    0,    0,
    0,    0,    0, 1362,    0,    0, 1362, 1362, 1362, 1362,
    0, 1362,    0,    0, 1362,    0,    0, 1362,    0,    0,
    0,    0,    0,    0, 1362,    0, 1362, 1362,    0, 1362,
 1362, 1362,    0, 1362, 1362,    0,    0, 1362,    0,    0,
 1362,    0, 1362, 1362,    0,    0, 1362, 1362, 1362,    0,
 1362,    0, 1362, 1362, 1362, 1362, 1362, 1362,    0,    0,
    0, 1362, 1362, 1362, 1362, 1362,    0,    0,    0, 1362,
    0,    0,    0,    0,    0,    0,    0, 1362,    0, 1362,
 1362, 1362, 1362,    0, 1362,    0,    0,    0,    0, 1362,
 1362,    0, 1362,    0, 1362,    0, 1362, 1362, 1362,    0,
 1362,    0, 1362, 1362, 1362,    0, 1362, 1362, 1362, 1362,
 1362,    0, 1362, 1362,    0,    0,    0,    0, 1362,  292,
 1362, 1362,    0,    0, 1362, 1362, 1362,    0,    0, 1362,
    0,    0, 1362,    0,    0, 1362, 1362, 1362, 1362,    0,
 1362,    0, 1362,    0, 1362, 1362, 1362, 1362, 1362,    0,
    0, 1362, 1362, 1362,    0, 1362, 1362,    0,    0,    0,
  292,    0,    0,  292,    0,    0, 1362, 1362, 1362,    0,
 1362, 1362, 1362,    0,    0,    0, 1362,    0,  292, 1362,
    0, 1362, 1362, 1362, 1362,    0, 1362,    0, 1362, 1362,
 1362, 1362, 1362, 1362, 1362, 1362,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1362, 1362,    0, 1362, 1362,
 1362,    0,    0,    0,    0, 1362, 1362, 1362, 1362, 1362,
    0, 1362,    0,    0, 1362, 1362, 1362, 1362, 1362, 1362,
 1362,    0,    0,    0, 1362, 1362, 1362, 1362, 1362, 1362,
 1362, 1362,    0, 1362,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1362, 1362, 1362, 1362, 1362, 1362, 1362,
 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362,
 1362, 1362, 1362, 1362,    0, 1362, 1362, 1362, 1362, 1362,
 1362,    0, 1362, 1362, 1362, 1362,    0, 1362,    0, 1362,
 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362,
 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1363, 1362, 1362,
 1362, 1362,    0, 1362, 1362, 1362, 1362, 1362,    0, 1362,
 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362,
 1362, 1362, 1362, 1362,    0, 1362, 1362, 1362, 1362, 1362,
 1362, 1362,    0,    0,    0,    0,    0, 1186, 1363, 1363,
 1363, 1363, 1363, 1363, 1363,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1363, 1363, 1363, 1363, 1363,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  292,  292,    0, 1363,    0,
 1363,    0,    0,  292,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  292,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  292,    0,    0,    0,    0,    0,  292,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  292,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1363,    0, 1363,    0,    0, 1363,
    0, 1363, 1363,    0,    0, 1363, 1363,    0, 1363,    0,
    0,    0,    0,    0, 1363,    0,    0, 1363, 1363, 1363,
 1363,    0, 1363,    0,    0, 1363,    0,    0, 1363,    0,
    0,    0,    0,    0,    0, 1363,    0, 1363, 1363,    0,
 1363, 1363, 1363,    0, 1363, 1363,    0,    0, 1363,    0,
    0, 1363,    0, 1363, 1363,    0,    0, 1363, 1363, 1363,
    0, 1363,    0, 1363, 1363, 1363, 1363, 1363, 1363,    0,
    0,    0, 1363, 1363, 1363, 1363, 1363,    0,    0,    0,
 1363,    0,    0,    0,    0,    0,    0,    0, 1363,    0,
 1363, 1363, 1363, 1363,    0, 1363,    0,    0,    0,    0,
 1363, 1363,    0, 1363,    0, 1363,    0, 1363, 1363, 1363,
    0, 1363,    0, 1363, 1363, 1363,    0, 1363, 1363, 1363,
 1363, 1363,    0, 1363, 1363,    0,    0,    0,    0, 1363,
    0, 1363, 1363,    0,    0, 1363, 1363, 1363,    0,    0,
 1363,    0,    0, 1363,    0,    0, 1363, 1363, 1363, 1363,
    0, 1363,    0, 1363,    0, 1363, 1363, 1363, 1363, 1363,
    0,    0, 1363, 1363, 1363,    0, 1363, 1363,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1363, 1363, 1363,
    0, 1363, 1363, 1363,    0,    0,    0, 1363,    0,    0,
 1363,    0, 1363, 1363, 1363, 1363,    0, 1363,    0, 1363,
 1363, 1363, 1363, 1363, 1363, 1363, 1363,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1363, 1363,    0, 1363,
 1363, 1363,    0,    0,    0,    0, 1363, 1363, 1363, 1363,
 1363,    0, 1363,    0,    0, 1363, 1363, 1363, 1363, 1363,
 1363, 1363,    0,    0,    0, 1363, 1363, 1363, 1363, 1363,
 1363, 1363, 1363,    0, 1363,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1363, 1363, 1363, 1363, 1363, 1363,
 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363,
 1363, 1363, 1363, 1363, 1363,    0, 1363, 1363, 1363, 1363,
 1363, 1363,    0, 1363, 1363, 1363, 1363,    0, 1363,    0,
 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363,
 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1364, 1363,
 1363, 1363, 1363,    0, 1363, 1363, 1363, 1363, 1363,    0,
 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363,
 1363, 1363, 1363, 1363, 1363,    0, 1363, 1363, 1363, 1363,
 1363, 1363, 1363,    0,    0,    0,    0,    0, 1187, 1364,
 1364, 1364, 1364, 1364, 1364, 1364,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1364, 1364, 1364, 1364,
 1364,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1364,
    0, 1364,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1364,    0, 1364,    0,    0,
 1364,    0, 1364, 1364,    0,    0, 1364, 1364,    0, 1364,
    0,    0,    0,    0,    0, 1364,    0,    0, 1364, 1364,
 1364, 1364,    0, 1364,    0,    0, 1364,    0,    0, 1364,
    0,    0,    0,    0,    0,    0, 1364,    0, 1364, 1364,
    0, 1364, 1364, 1364,    0, 1364, 1364,    0,    0, 1364,
    0,    0, 1364,    0, 1364, 1364,    0,    0, 1364, 1364,
 1364,    0, 1364,    0, 1364, 1364, 1364, 1364, 1364, 1364,
    0,    0,    0, 1364, 1364, 1364, 1364, 1364,    0,    0,
    0, 1364,    0,    0,    0,    0,    0,    0,    0, 1364,
    0, 1364, 1364, 1364, 1364,    0, 1364,    0,    0,    0,
    0, 1364, 1364,    0, 1364,    0, 1364,    0, 1364, 1364,
 1364,    0, 1364,    0, 1364, 1364, 1364,    0, 1364, 1364,
 1364, 1364, 1364,    0, 1364, 1364,    0,    0,    0,    0,
 1364,    0, 1364, 1364,    0,    0, 1364, 1364, 1364,    0,
    0, 1364,    0,    0, 1364,    0,    0, 1364, 1364, 1364,
 1364,    0, 1364,    0, 1364,    0, 1364, 1364, 1364, 1364,
 1364,    0,    0, 1364, 1364, 1364,    0, 1364, 1364,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1364, 1364,
 1364,    0, 1364, 1364, 1364,    0,    0,    0, 1364,    0,
    0, 1364,    0, 1364, 1364, 1364, 1364,    0, 1364,    0,
 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1364, 1364,    0,
 1364, 1364, 1364,    0,    0,    0,    0, 1364, 1364, 1364,
 1364, 1364,    0, 1364,    0,    0, 1364, 1364, 1364, 1364,
 1364, 1364, 1364,    0,    0,    0, 1364, 1364, 1364, 1364,
 1364, 1364, 1364, 1364,    0, 1364,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1364, 1364, 1364, 1364, 1364,
 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
 1364, 1364, 1364, 1364, 1364, 1364,    0, 1364, 1364, 1364,
 1364, 1364, 1364,    0, 1364, 1364, 1364, 1364,    0, 1364,
    0, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1365,
 1364, 1364, 1364, 1364,    0, 1364, 1364, 1364, 1364, 1364,
    0, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
 1364, 1364, 1364, 1364, 1364, 1364,    0, 1364, 1364, 1364,
 1364, 1364, 1364, 1364,    0,    0,    0,    0,    0, 1188,
 1365, 1365, 1365, 1365, 1365, 1365, 1365,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1365, 1365, 1365,
 1365, 1365,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1365,    0, 1365,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1365,    0, 1365,    0,
    0, 1365,    0, 1365, 1365,    0,    0, 1365, 1365,    0,
 1365,    0,    0,    0,    0,    0, 1365,    0,    0, 1365,
 1365, 1365, 1365,    0, 1365,    0,    0, 1365,    0,    0,
 1365,    0,    0,    0,    0,    0,    0, 1365,    0, 1365,
 1365,    0, 1365, 1365, 1365,    0, 1365, 1365,    0,    0,
 1365,    0,    0, 1365,    0, 1365, 1365,    0,    0, 1365,
 1365, 1365,    0, 1365,    0, 1365, 1365, 1365, 1365, 1365,
 1365,    0,    0,    0, 1365, 1365, 1365, 1365, 1365,    0,
    0,    0, 1365,    0,    0,    0,    0,    0,    0,    0,
 1365,    0, 1365, 1365, 1365, 1365,    0, 1365,    0,    0,
    0,    0, 1365, 1365,    0, 1365,    0, 1365,    0, 1365,
 1365, 1365,    0, 1365,    0, 1365, 1365, 1365,    0, 1365,
 1365, 1365, 1365, 1365,    0, 1365, 1365,    0,    0,    0,
    0, 1365,    0, 1365, 1365,    0,    0, 1365, 1365, 1365,
    0,    0, 1365,    0,    0, 1365,    0,    0, 1365, 1365,
 1365, 1365,    0, 1365,    0, 1365,    0, 1365, 1365, 1365,
 1365, 1365,    0,    0, 1365, 1365, 1365,    0, 1365, 1365,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1365,
 1365, 1365,    0, 1365, 1365, 1365,    0,    0,    0, 1365,
    0,    0, 1365,    0, 1365, 1365, 1365, 1365,    0, 1365,
    0, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1365, 1365,
    0, 1365, 1365, 1365,    0,    0,    0,    0, 1365, 1365,
 1365, 1365, 1365,    0, 1365,    0,    0, 1365, 1365, 1365,
 1365, 1365, 1365, 1365,    0,    0,    0, 1365, 1365, 1365,
 1365, 1365, 1365, 1365, 1365,    0, 1365,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1365, 1365, 1365, 1365,
 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
 1365, 1365, 1365, 1365, 1365, 1365, 1365,    0, 1365, 1365,
 1365, 1365, 1365, 1365,    0, 1365, 1365, 1365, 1365,    0,
 1365,    0, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
 1366, 1365, 1365, 1365, 1365,    0, 1365, 1365, 1365, 1365,
 1365,    0, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
 1365, 1365, 1365, 1365, 1365, 1365, 1365,    0, 1365, 1365,
 1365, 1365, 1365, 1365, 1365,    0,    0,    0,    0,    0,
 1189, 1366, 1366, 1366, 1366, 1366, 1366, 1366,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1366, 1366,
 1366, 1366, 1366,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1366,    0, 1366,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1366,    0, 1366,
    0,    0, 1366,    0, 1366, 1366,    0,    0, 1366, 1366,
    0, 1366,    0,    0,    0,    0,    0, 1366,    0,    0,
 1366, 1366, 1366, 1366,    0, 1366,    0,    0, 1366,    0,
    0, 1366,    0,    0,    0,    0,    0,    0, 1366,    0,
 1366, 1366,    0, 1366, 1366, 1366,    0, 1366, 1366,    0,
    0, 1366,    0,    0, 1366,    0, 1366, 1366,    0,    0,
 1366, 1366, 1366,    0, 1366,    0, 1366, 1366, 1366, 1366,
 1366, 1366,    0,    0,    0, 1366, 1366, 1366, 1366, 1366,
    0,    0,    0, 1366,    0,    0,    0,    0,    0,    0,
    0, 1366,    0, 1366, 1366, 1366, 1366,    0, 1366,    0,
    0,    0,    0, 1366, 1366,    0, 1366,    0, 1366,    0,
 1366, 1366, 1366,    0, 1366,    0, 1366, 1366, 1366,    0,
 1366, 1366, 1366, 1366, 1366,    0, 1366, 1366,    0,    0,
    0,    0, 1366,    0, 1366, 1366,    0,    0, 1366, 1366,
 1366,    0,    0, 1366,    0,    0, 1366,    0,    0, 1366,
 1366, 1366, 1366,    0, 1366,    0, 1366,    0, 1366, 1366,
 1366, 1366, 1366,    0,    0, 1366, 1366, 1366,    0, 1366,
 1366,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1366, 1366, 1366,    0, 1366, 1366, 1366,    0,    0,    0,
 1366,    0,    0, 1366,    0, 1366, 1366, 1366, 1366,    0,
 1366,    0, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1366,
 1366,    0, 1366, 1366, 1366,    0,    0,    0,    0, 1366,
 1366, 1366, 1366, 1366,    0, 1366,    0,    0, 1366, 1366,
 1366, 1366, 1366, 1366, 1366,    0,    0,    0, 1366, 1366,
 1366, 1366, 1366, 1366, 1366, 1366,    0, 1366,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1366, 1366, 1366,
 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,    0, 1366,
 1366, 1366, 1366, 1366, 1366,    0, 1366, 1366, 1366, 1366,
    0, 1366,    0, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
 1366, 1367, 1366, 1366, 1366, 1366,    0, 1366, 1366, 1366,
 1366, 1366,    0, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,    0, 1366,
 1366, 1366, 1366, 1366, 1366, 1366,    0,    0,    0,    0,
    0, 1190, 1367, 1367, 1367, 1367, 1367, 1367, 1367,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1367,
 1367, 1367, 1367, 1367,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1367,    0, 1367,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1367,    0,
 1367,    0,    0, 1367,    0, 1367, 1367,    0,    0, 1367,
 1367,    0, 1367,    0,    0,    0,    0,    0, 1367,    0,
    0, 1367, 1367, 1367, 1367,    0, 1367,    0,    0, 1367,
    0,    0, 1367,    0,    0,    0,    0,    0,    0, 1367,
    0, 1367, 1367,    0, 1367, 1367, 1367,    0, 1367, 1367,
    0,    0, 1367,    0,    0, 1367,    0, 1367, 1367,    0,
    0, 1367, 1367, 1367,    0, 1367,    0, 1367, 1367, 1367,
 1367, 1367, 1367,    0,    0,    0, 1367, 1367, 1367, 1367,
 1367,    0,    0,    0, 1367,    0,    0,    0,    0,    0,
    0,    0, 1367,    0, 1367, 1367, 1367, 1367,    0, 1367,
    0,    0,    0,    0, 1367, 1367,    0, 1367,    0, 1367,
    0, 1367, 1367, 1367,    0, 1367,    0, 1367, 1367, 1367,
    0, 1367, 1367, 1367, 1367, 1367,    0, 1367, 1367,    0,
    0,    0,    0, 1367,    0, 1367, 1367,    0,    0, 1367,
 1367, 1367,    0,    0, 1367,    0,    0, 1367,    0,    0,
 1367, 1367, 1367, 1367,    0, 1367,    0, 1367,    0, 1367,
 1367, 1367, 1367, 1367,    0,    0, 1367, 1367, 1367,    0,
 1367, 1367,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1367, 1367, 1367,    0, 1367, 1367, 1367,    0,    0,
    0, 1367,    0,    0, 1367,    0, 1367, 1367, 1367, 1367,
    0, 1367,    0, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
 1367,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1367, 1367,    0, 1367, 1367, 1367,    0,    0,    0,    0,
 1367, 1367, 1367, 1367, 1367,    0, 1367,    0,    0, 1367,
 1367, 1367, 1367, 1367, 1367, 1367,    0,    0,    0, 1367,
 1367, 1367, 1367, 1367, 1367, 1367, 1367,    0, 1367,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1367, 1367,
 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,    0,
 1367, 1367, 1367, 1367, 1367, 1367,    0, 1367, 1367, 1367,
 1367,    0, 1367,    0, 1367, 1367, 1367, 1367, 1367, 1367,
 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
 1367, 1367, 1368, 1367, 1367, 1367, 1367,    0, 1367, 1367,
 1367, 1367, 1367,    0, 1367, 1367, 1367, 1367, 1367, 1367,
 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,    0,
 1367, 1367, 1367, 1367, 1367, 1367, 1367,    0,    0,    0,
    0,    0, 1192, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1368, 1368, 1368, 1368, 1368,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1368,    0, 1368,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1368,
    0, 1368,    0,    0, 1368,    0, 1368, 1368,    0,    0,
 1368, 1368,    0, 1368,    0,    0,    0,    0,    0, 1368,
    0,    0, 1368, 1368, 1368, 1368,    0, 1368,    0,    0,
 1368,    0,    0, 1368,    0,    0,    0,    0,    0,    0,
 1368,    0, 1368, 1368,    0, 1368, 1368, 1368,    0, 1368,
 1368,    0,    0, 1368,    0,    0, 1368,    0, 1368, 1368,
    0,    0, 1368, 1368, 1368,    0, 1368,    0, 1368, 1368,
 1368, 1368, 1368, 1368,    0,    0,    0, 1368, 1368, 1368,
 1368, 1368,    0,    0,    0, 1368,    0,    0,    0,    0,
    0,    0,    0, 1368,    0, 1368, 1368, 1368, 1368,    0,
 1368,    0,    0,    0,    0, 1368, 1368,    0, 1368,    0,
 1368,    0, 1368, 1368, 1368,    0, 1368,    0, 1368, 1368,
 1368,    0, 1368, 1368, 1368, 1368, 1368,    0, 1368, 1368,
    0,    0,    0,    0, 1368,    0, 1368, 1368,    0,    0,
 1368, 1368, 1368,    0,    0, 1368,    0,    0, 1368,    0,
    0, 1368, 1368, 1368, 1368,    0, 1368,    0, 1368,    0,
 1368, 1368, 1368, 1368, 1368,    0,    0, 1368, 1368, 1368,
    0, 1368, 1368,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1368, 1368, 1368,    0, 1368, 1368, 1368,    0,
    0,    0, 1368,    0,    0, 1368,    0, 1368, 1368, 1368,
 1368,    0, 1368,    0, 1368, 1368, 1368, 1368, 1368, 1368,
 1368, 1368,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1368, 1368,    0, 1368, 1368, 1368,    0,    0,    0,
    0, 1368, 1368, 1368, 1368, 1368,    0, 1368,    0,    0,
 1368, 1368, 1368, 1368, 1368, 1368, 1368,    0,    0,    0,
 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,    0, 1368,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1368,
 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
    0, 1368, 1368, 1368, 1368, 1368, 1368,    0, 1368, 1368,
 1368, 1368,    0, 1368,    0, 1368, 1368, 1368, 1368, 1368,
 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
 1368, 1368, 1368, 1369, 1368, 1368, 1368, 1368,    0, 1368,
 1368, 1368, 1368, 1368,    0, 1368, 1368, 1368, 1368, 1368,
 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
    0, 1368, 1368, 1368, 1368, 1368, 1368, 1368,    0,    0,
    0,    0,    0, 1193, 1369, 1369, 1369, 1369, 1369, 1369,
 1369,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1369, 1369, 1369, 1369, 1369,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1369,    0, 1369,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1369,    0, 1369,    0,    0, 1369,    0, 1369, 1369,    0,
    0, 1369, 1369,    0, 1369,    0,    0,    0,    0,    0,
 1369,    0,    0, 1369, 1369, 1369, 1369,    0, 1369,    0,
    0, 1369,    0,    0, 1369,    0,    0,    0,    0,    0,
    0, 1369,    0, 1369, 1369,    0, 1369, 1369, 1369,    0,
 1369, 1369,    0,    0, 1369,    0,    0, 1369,    0, 1369,
 1369,    0,    0, 1369, 1369, 1369,    0, 1369,    0, 1369,
 1369, 1369, 1369, 1369, 1369,    0,    0,    0, 1369, 1369,
 1369, 1369, 1369,    0,    0,    0, 1369,    0,    0,    0,
    0,    0,    0,    0, 1369,    0, 1369, 1369, 1369, 1369,
    0, 1369,    0,    0,    0,    0, 1369, 1369,    0, 1369,
    0, 1369,    0, 1369, 1369, 1369,    0, 1369,    0, 1369,
 1369, 1369,    0, 1369, 1369, 1369, 1369, 1369,    0, 1369,
 1369,    0,    0,    0,    0, 1369,    0, 1369, 1369,    0,
    0, 1369, 1369, 1369,    0,    0, 1369,    0,    0, 1369,
    0,    0, 1369, 1369, 1369, 1369,    0, 1369,    0, 1369,
    0, 1369, 1369, 1369, 1369, 1369,    0,    0, 1369, 1369,
 1369,    0, 1369, 1369,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1369, 1369, 1369,    0, 1369, 1369, 1369,
    0,    0,    0, 1369,    0,    0, 1369,    0, 1369, 1369,
 1369, 1369,    0, 1369,    0, 1369, 1369, 1369, 1369, 1369,
 1369, 1369, 1369,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1369, 1369,    0, 1369, 1369, 1369,    0,    0,
    0,    0, 1369, 1369, 1369, 1369, 1369,    0, 1369,    0,
    0, 1369, 1369, 1369, 1369, 1369, 1369, 1369,    0,    0,
    0, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,    0,
 1369,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
 1369,    0, 1369, 1369, 1369, 1369, 1369, 1369,    0, 1369,
 1369, 1369, 1369,    0, 1369,    0, 1369, 1369, 1369, 1369,
 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
 1369, 1369, 1369, 1369, 1370, 1369, 1369, 1369, 1369,    0,
 1369, 1369, 1369, 1369, 1369,    0, 1369, 1369, 1369, 1369,
 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
 1369,    0, 1369, 1369, 1369, 1369, 1369, 1369, 1369,    0,
    0,    0,    0,    0, 1194, 1370, 1370, 1370, 1370, 1370,
 1370, 1370,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1370, 1370, 1370, 1370, 1370,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1370,    0, 1370,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1370,    0, 1370,    0,    0, 1370,    0, 1370, 1370,
    0,    0, 1370, 1370,    0, 1370,    0,    0,    0,    0,
    0, 1370,    0,    0, 1370, 1370, 1370, 1370,    0, 1370,
    0,    0, 1370,    0,    0, 1370,    0,    0,    0,    0,
    0,    0, 1370,    0, 1370, 1370,    0, 1370, 1370, 1370,
    0, 1370, 1370,    0,    0, 1370,    0,    0, 1370,    0,
 1370, 1370,    0,    0, 1370, 1370, 1370,    0, 1370,    0,
 1370, 1370, 1370, 1370, 1370, 1370,    0,    0,    0, 1370,
 1370, 1370, 1370, 1370,    0,    0,    0, 1370,    0,    0,
    0,    0,    0,    0,    0, 1370,    0, 1370, 1370, 1370,
 1370,    0, 1370,    0,    0,    0,    0, 1370, 1370,    0,
 1370,    0, 1370,    0, 1370, 1370, 1370,    0, 1370,    0,
 1370, 1370, 1370,    0, 1370, 1370, 1370, 1370, 1370,    0,
 1370, 1370,    0,    0,    0,    0, 1370,    0, 1370, 1370,
    0,    0, 1370, 1370, 1370,    0,    0, 1370,    0,    0,
 1370,    0,    0, 1370, 1370, 1370, 1370,    0, 1370,    0,
 1370,    0, 1370, 1370, 1370, 1370, 1370,    0,    0, 1370,
 1370, 1370,    0, 1370, 1370,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1370, 1370, 1370,    0, 1370, 1370,
 1370,    0,    0,    0, 1370,    0,    0, 1370,    0, 1370,
 1370, 1370, 1370,    0, 1370,    0, 1370, 1370, 1370, 1370,
 1370, 1370, 1370, 1370,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1370, 1370,    0, 1370, 1370, 1370,    0,
    0,    0,    0, 1370, 1370, 1370, 1370, 1370,    0, 1370,
    0,    0, 1370, 1370, 1370, 1370, 1370, 1370, 1370,    0,
    0,    0, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
    0, 1370,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
 1370, 1370,    0, 1370, 1370, 1370, 1370, 1370, 1370,    0,
 1370, 1370, 1370, 1370,    0, 1370,    0, 1370, 1370, 1370,
 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
 1370, 1370, 1370, 1370, 1370, 1374, 1370, 1370, 1370, 1370,
    0, 1370, 1370, 1370, 1370, 1370,    0, 1370, 1370, 1370,
 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
 1370, 1370,    0, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
    0,    0,    0,    0,    0, 1195, 1374, 1374, 1374, 1374,
 1374, 1374, 1374,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1374, 1374, 1374, 1374, 1374,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1374,    0, 1374,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1374,    0, 1374,    0,    0, 1374,    0, 1374,
 1374,    0,    0, 1374, 1374,    0, 1374,    0,    0,    0,
    0,    0, 1374,    0,    0, 1374, 1374, 1374, 1374,    0,
 1374,    0,    0, 1374,    0,    0, 1374,    0,    0,    0,
    0,    0,    0, 1374,    0, 1374, 1374,    0, 1374, 1374,
 1374,    0, 1374, 1374,    0,    0, 1374,    0,    0, 1374,
    0, 1374, 1374,    0,    0, 1374, 1374, 1374,    0, 1374,
    0, 1374, 1374, 1374, 1374, 1374, 1374,    0,    0,    0,
 1374, 1374, 1374, 1374, 1374,    0,    0,    0, 1374,    0,
    0,    0,    0,    0,    0,    0, 1374,    0, 1374, 1374,
 1374, 1374,    0, 1374,    0,    0,    0,    0, 1374, 1374,
    0, 1374,    0, 1374,    0, 1374, 1374, 1374,    0, 1374,
    0, 1374, 1374, 1374,    0, 1374, 1374, 1374, 1374, 1374,
    0, 1374, 1374,    0,    0,    0,    0, 1374,    0, 1374,
 1374,    0,    0, 1374, 1374, 1374,    0,    0, 1374,    0,
    0, 1374,    0,    0, 1374, 1374, 1374, 1374,    0, 1374,
    0, 1374,    0, 1374, 1374, 1374, 1374, 1374,    0,    0,
 1374, 1374, 1374,    0, 1374, 1374,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1374, 1374, 1374,    0, 1374,
 1374, 1374,    0,    0,    0, 1374,    0,    0, 1374,    0,
 1374, 1374, 1374, 1374,    0, 1374,    0, 1374, 1374, 1374,
 1374, 1374, 1374, 1374, 1374,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1374, 1374,    0, 1374, 1374, 1374,
    0,    0,    0,    0, 1374, 1374, 1374, 1374, 1374,    0,
 1374,    0,    0, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
    0,    0,    0, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
 1374,    0, 1374,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
 1374, 1374, 1374,    0, 1374, 1374, 1374, 1374, 1374, 1374,
    0, 1374, 1374, 1374, 1374,    0, 1374,    0, 1374, 1374,
 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
 1374, 1374, 1374, 1374, 1374, 1374, 1375, 1374, 1374, 1374,
 1374,    0, 1374, 1374, 1374, 1374, 1374,    0, 1374, 1374,
 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
 1374, 1374, 1374,    0, 1374, 1374, 1374, 1374, 1374, 1374,
 1374,    0,    0,    0,    0,    0, 1196, 1375, 1375, 1375,
 1375, 1375, 1375, 1375,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1375, 1375, 1375, 1375, 1375,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1375,    0, 1375,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1375,    0, 1375,    0,    0, 1375,    0,
 1375, 1375,    0,    0, 1375, 1375,    0, 1375,    0,    0,
    0,    0,    0, 1375,    0,    0, 1375, 1375, 1375, 1375,
    0, 1375,    0,    0, 1375,    0,    0, 1375,    0,    0,
    0,    0,    0,    0, 1375,    0, 1375, 1375,    0, 1375,
 1375, 1375,    0, 1375, 1375,    0,    0, 1375,    0,    0,
 1375,    0, 1375, 1375,    0,    0, 1375, 1375, 1375,    0,
 1375,    0, 1375, 1375, 1375, 1375, 1375, 1375,    0,    0,
    0, 1375, 1375, 1375, 1375, 1375,    0,    0,    0, 1375,
    0,    0,    0,    0,    0,    0,    0, 1375,    0, 1375,
 1375, 1375, 1375,    0, 1375,    0,    0,    0,    0, 1375,
 1375,    0, 1375,    0, 1375,    0, 1375, 1375, 1375,    0,
 1375,    0, 1375, 1375, 1375,    0, 1375, 1375, 1375, 1375,
 1375,    0, 1375, 1375,    0,    0,    0,    0, 1375,    0,
 1375, 1375,    0,    0, 1375, 1375, 1375,    0,    0, 1375,
    0,    0, 1375,    0,    0, 1375, 1375, 1375, 1375,    0,
 1375,    0, 1375,    0, 1375, 1375, 1375, 1375, 1375,    0,
    0, 1375, 1375, 1375,    0, 1375, 1375,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1375, 1375, 1375,    0,
 1375, 1375, 1375,    0,    0,    0, 1375,    0,    0, 1375,
    0, 1375, 1375, 1375, 1375,    0, 1375,    0, 1375, 1375,
 1375, 1375, 1375, 1375, 1375, 1375,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1375, 1375,    0, 1375, 1375,
 1375,    0,    0,    0,    0, 1375, 1375, 1375, 1375, 1375,
    0, 1375,    0,    0, 1375, 1375, 1375, 1375, 1375, 1375,
 1375,    0,    0,    0, 1375, 1375, 1375, 1375, 1375, 1375,
 1375, 1375,    0, 1375,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
 1375, 1375, 1375, 1375,    0, 1375, 1375, 1375, 1375, 1375,
 1375,    0, 1375, 1375, 1375, 1375,    0, 1375,    0, 1375,
 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1376, 1375, 1375,
 1375, 1375,    0, 1375, 1375, 1375, 1375, 1375,    0, 1375,
 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
 1375, 1375, 1375, 1375,    0, 1375, 1375, 1375, 1375, 1375,
 1375, 1375,    0,    0,    0,    0,    0, 1197, 1376, 1376,
 1376, 1376, 1376, 1376, 1376,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1376, 1376, 1376, 1376, 1376,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1376,    0,
 1376,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1376,    0, 1376,    0,    0, 1376,
    0, 1376, 1376,    0,    0, 1376, 1376,    0, 1376,    0,
    0,    0,    0,    0, 1376,    0,    0, 1376, 1376, 1376,
 1376,    0, 1376,    0,    0, 1376,    0,    0, 1376,    0,
    0,    0,    0,    0,    0, 1376,    0, 1376, 1376,    0,
 1376, 1376, 1376,    0, 1376, 1376,    0,    0, 1376,    0,
    0, 1376,    0, 1376, 1376,    0,    0, 1376, 1376, 1376,
    0, 1376,    0, 1376, 1376, 1376, 1376, 1376, 1376,    0,
    0,    0, 1376, 1376, 1376, 1376, 1376,    0,    0,    0,
 1376,    0,    0,    0,    0,    0,    0,    0, 1376,    0,
 1376, 1376, 1376, 1376,    0, 1376,    0,    0,    0,    0,
 1376, 1376,    0, 1376,    0, 1376,    0, 1376, 1376, 1376,
    0, 1376,    0, 1376, 1376, 1376,    0, 1376, 1376, 1376,
 1376, 1376,    0, 1376, 1376,    0,    0,    0,    0, 1376,
    0, 1376, 1376,    0,    0, 1376, 1376, 1376,    0,    0,
 1376,    0,    0, 1376,    0,    0, 1376, 1376, 1376, 1376,
    0, 1376,    0, 1376,    0, 1376, 1376, 1376, 1376, 1376,
    0,    0, 1376, 1376, 1376,    0, 1376, 1376,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1376, 1376, 1376,
    0, 1376, 1376, 1376,    0,    0,    0, 1376,    0,    0,
 1376,    0, 1376, 1376, 1376, 1376,    0, 1376,    0, 1376,
 1376, 1376, 1376, 1376, 1376, 1376, 1376,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1376, 1376,    0, 1376,
 1376, 1376,    0,    0,    0,    0, 1376, 1376, 1376, 1376,
 1376,    0, 1376,    0,    0, 1376, 1376, 1376, 1376, 1376,
 1376, 1376,    0,    0,    0, 1376, 1376, 1376, 1376, 1376,
 1376, 1376, 1376,    0, 1376,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1376, 1376, 1376, 1376, 1376, 1376,
 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
 1376, 1376, 1376, 1376, 1376,    0, 1376, 1376, 1376, 1376,
 1376, 1376,    0, 1376, 1376, 1376, 1376,    0, 1376,    0,
 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1378, 1376,
 1376, 1376, 1376,    0, 1376, 1376, 1376, 1376, 1376,    0,
 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
 1376, 1376, 1376, 1376, 1376,    0, 1376, 1376, 1376, 1376,
 1376, 1376, 1376,    0,    0,    0,    0,    0, 1198, 1378,
 1378, 1378, 1378, 1378, 1378, 1378,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1378, 1378, 1378, 1378,
 1378,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1378,
    0, 1378,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1378,    0, 1378,    0,    0,
 1378,    0, 1378, 1378,    0,    0, 1378, 1378,    0, 1378,
    0,    0,    0,    0,    0, 1378,    0,    0, 1378, 1378,
 1378, 1378,    0, 1378,    0,    0, 1378,    0,    0, 1378,
    0,    0,    0,    0,    0,    0, 1378,    0, 1378, 1378,
    0, 1378, 1378, 1378,    0, 1378, 1378,    0,    0, 1378,
    0,    0, 1378,    0, 1378, 1378,    0,    0, 1378, 1378,
 1378,    0, 1378,    0, 1378, 1378, 1378, 1378, 1378, 1378,
    0,    0,    0, 1378, 1378, 1378, 1378, 1378,    0,    0,
    0, 1378,    0,    0,    0,    0,    0,    0,    0, 1378,
    0, 1378, 1378, 1378, 1378,    0, 1378,    0,    0,    0,
    0, 1378, 1378,    0, 1378,    0, 1378,    0, 1378, 1378,
 1378,    0, 1378,    0, 1378, 1378, 1378,    0, 1378, 1378,
 1378, 1378, 1378,    0, 1378, 1378,    0,    0,    0,    0,
 1378,    0, 1378, 1378,    0,    0, 1378, 1378, 1378,    0,
    0, 1378,    0,    0, 1378,    0,    0, 1378, 1378, 1378,
 1378,    0, 1378,    0, 1378,    0, 1378, 1378, 1378, 1378,
 1378,    0,    0, 1378, 1378, 1378,    0, 1378, 1378,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1378, 1378,
 1378,    0, 1378, 1378, 1378,    0,    0,    0, 1378,    0,
    0, 1378,    0, 1378, 1378, 1378, 1378,    0, 1378,    0,
 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1378, 1378,    0,
 1378, 1378, 1378,    0,    0,    0,    0, 1378, 1378, 1378,
 1378, 1378,    0, 1378,    0,    0, 1378, 1378, 1378, 1378,
 1378, 1378, 1378,    0,    0,    0, 1378, 1378, 1378, 1378,
 1378, 1378, 1378, 1378,    0, 1378,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1378, 1378, 1378, 1378, 1378,
 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
 1378, 1378, 1378, 1378, 1378, 1378,    0, 1378, 1378, 1378,
 1378, 1378, 1378,    0, 1378, 1378, 1378, 1378,    0, 1378,
    0, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1380,
 1378, 1378, 1378, 1378,    0, 1378, 1378, 1378, 1378, 1378,
    0, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
 1378, 1378, 1378, 1378, 1378, 1378,    0, 1378, 1378, 1378,
 1378, 1378, 1378, 1378,    0,    0,    0,    0,    0, 1200,
 1380, 1380, 1380, 1380, 1380, 1380, 1380,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1380, 1380, 1380,
 1380, 1380,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1380,    0, 1380,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1380,    0, 1380,    0,
    0, 1380,    0, 1380, 1380,    0,    0, 1380, 1380,    0,
 1380,    0,    0,    0,    0,    0, 1380,    0,    0, 1380,
 1380, 1380, 1380,    0, 1380,    0,    0, 1380,    0,    0,
 1380,    0,    0,    0,    0,    0,    0, 1380,    0, 1380,
 1380,    0, 1380, 1380, 1380,    0, 1380, 1380,    0,    0,
 1380,    0,    0, 1380,    0, 1380, 1380,    0,    0, 1380,
 1380, 1380,    0, 1380,    0, 1380, 1380, 1380, 1380, 1380,
 1380,    0,    0,    0, 1380, 1380, 1380, 1380, 1380,    0,
    0,    0, 1380,    0,    0,    0,    0,    0,    0,    0,
 1380,    0, 1380, 1380, 1380, 1380,    0, 1380,    0,    0,
    0,    0, 1380, 1380,    0, 1380,    0, 1380,    0, 1380,
 1380, 1380,    0, 1380,    0, 1380, 1380, 1380,    0, 1380,
 1380, 1380, 1380, 1380,    0, 1380, 1380,    0,    0,    0,
    0, 1380,    0, 1380, 1380,    0,    0, 1380, 1380, 1380,
    0,    0, 1380,    0,    0, 1380,    0,    0, 1380, 1380,
 1380, 1380,    0, 1380,    0, 1380,    0, 1380, 1380, 1380,
 1380, 1380,    0,    0, 1380, 1380, 1380,    0, 1380, 1380,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1380,
 1380, 1380,    0, 1380, 1380, 1380,    0,    0,    0, 1380,
    0,    0, 1380,    0, 1380, 1380, 1380, 1380,    0, 1380,
    0, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1380, 1380,
    0, 1380, 1380, 1380,    0,    0,    0,    0, 1380, 1380,
 1380, 1380, 1380,    0, 1380,    0,    0, 1380, 1380, 1380,
 1380, 1380, 1380, 1380,    0,    0,    0, 1380, 1380, 1380,
 1380, 1380, 1380, 1380, 1380,    0, 1380,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1380, 1380, 1380, 1380,
 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
 1380, 1380, 1380, 1380, 1380, 1380, 1380,    0, 1380, 1380,
 1380, 1380, 1380, 1380,    0, 1380, 1380, 1380, 1380,    0,
 1380,    0, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
 1381, 1380, 1380, 1380, 1380,    0, 1380, 1380, 1380, 1380,
 1380,    0, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
 1380, 1380, 1380, 1380, 1380, 1380, 1380,    0, 1380, 1380,
 1380, 1380, 1380, 1380, 1380,    0,    0,    0,    0,    0,
 1201, 1381, 1381, 1381, 1381, 1381, 1381, 1381,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1381, 1381,
 1381, 1381, 1381,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1381,    0, 1381,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1381,    0, 1381,
    0,    0, 1381,    0, 1381, 1381,    0,    0, 1381, 1381,
    0, 1381,    0,    0,    0,    0,    0, 1381,    0,    0,
 1381, 1381, 1381, 1381,    0, 1381,    0,    0, 1381,    0,
    0, 1381,    0,    0,    0,    0,    0,    0, 1381,    0,
 1381, 1381,    0, 1381, 1381, 1381,    0, 1381, 1381,    0,
    0, 1381,    0,    0, 1381,    0, 1381, 1381,    0,    0,
 1381, 1381, 1381,    0, 1381,    0, 1381, 1381, 1381, 1381,
 1381, 1381,    0,    0,    0, 1381, 1381, 1381, 1381, 1381,
    0,    0,    0, 1381,    0,    0,    0,    0,    0,    0,
    0, 1381,    0, 1381, 1381, 1381, 1381,    0, 1381,    0,
    0,    0,    0, 1381, 1381,    0, 1381,    0, 1381,    0,
 1381, 1381, 1381,    0, 1381,    0, 1381, 1381, 1381,    0,
 1381, 1381, 1381, 1381, 1381,    0, 1381, 1381,    0,    0,
    0,    0, 1381,    0, 1381, 1381,    0,    0, 1381, 1381,
 1381,    0,    0, 1381,    0,    0, 1381,    0,    0, 1381,
 1381, 1381, 1381,    0, 1381,    0, 1381,    0, 1381, 1381,
 1381, 1381, 1381,    0,    0, 1381, 1381, 1381,    0, 1381,
 1381,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1381, 1381, 1381,    0, 1381, 1381, 1381,    0,    0,    0,
 1381,    0,    0, 1381,    0, 1381, 1381, 1381, 1381,    0,
 1381,    0, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1381,
 1381,    0, 1381, 1381, 1381,    0,    0,    0,    0, 1381,
 1381, 1381, 1381, 1381,    0, 1381,    0,    0, 1381, 1381,
 1381, 1381, 1381, 1381, 1381,    0,    0,    0, 1381, 1381,
 1381, 1381, 1381, 1381, 1381, 1381,    0, 1381,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1381, 1381, 1381,
 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,    0, 1381,
 1381, 1381, 1381, 1381, 1381,    0, 1381, 1381, 1381, 1381,
    0, 1381,    0, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
 1381, 1382, 1381, 1381, 1381, 1381,    0, 1381, 1381, 1381,
 1381, 1381,    0, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,    0, 1381,
 1381, 1381, 1381, 1381, 1381, 1381,    0,    0,    0,    0,
    0, 1202, 1382, 1382, 1382, 1382, 1382, 1382, 1382,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1382,
 1382, 1382, 1382, 1382,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1382,    0, 1382,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1382,    0,
 1382,    0,    0, 1382,    0, 1382, 1382,    0,    0, 1382,
 1382,    0, 1382,    0,    0,    0,    0,    0, 1382,    0,
    0, 1382, 1382, 1382, 1382,    0, 1382,    0,    0, 1382,
    0,    0, 1382,    0,    0,    0,    0,    0,    0, 1382,
    0, 1382, 1382,    0, 1382, 1382, 1382,    0, 1382, 1382,
    0,    0, 1382,    0,    0, 1382,    0, 1382, 1382,    0,
    0, 1382, 1382, 1382,    0, 1382,    0, 1382, 1382, 1382,
 1382, 1382, 1382,    0,    0,    0, 1382, 1382, 1382, 1382,
 1382,    0,    0,    0, 1382,    0,    0,    0,    0,    0,
    0,    0, 1382,    0, 1382, 1382, 1382, 1382,    0, 1382,
    0,    0,    0,    0, 1382, 1382,    0, 1382,    0, 1382,
    0, 1382, 1382, 1382,    0, 1382,    0, 1382, 1382, 1382,
    0, 1382, 1382, 1382, 1382, 1382,    0, 1382, 1382,    0,
    0,    0,    0, 1382,    0, 1382, 1382,    0,    0, 1382,
 1382, 1382,    0,    0, 1382,    0,    0, 1382,    0,    0,
 1382, 1382, 1382, 1382,    0, 1382,    0, 1382,    0, 1382,
 1382, 1382, 1382, 1382,    0,    0, 1382, 1382, 1382,    0,
 1382, 1382,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1382, 1382, 1382,    0, 1382, 1382, 1382,    0,    0,
    0, 1382,    0,    0, 1382,    0, 1382, 1382, 1382, 1382,
    0, 1382,    0, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
 1382,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1382, 1382,    0, 1382, 1382, 1382,    0,    0,    0,    0,
 1382, 1382, 1382, 1382, 1382,    0, 1382,    0,    0, 1382,
 1382, 1382, 1382, 1382, 1382, 1382,    0,    0,    0, 1382,
 1382, 1382, 1382, 1382, 1382, 1382, 1382,    0, 1382,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1382, 1382,
 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,    0,
 1382, 1382, 1382, 1382, 1382, 1382,    0, 1382, 1382, 1382,
 1382,    0, 1382,    0, 1382, 1382, 1382, 1382, 1382, 1382,
 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
 1382, 1382, 1383, 1382, 1382, 1382, 1382,    0, 1382, 1382,
 1382, 1382, 1382,    0, 1382, 1382, 1382, 1382, 1382, 1382,
 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,    0,
 1382, 1382, 1382, 1382, 1382, 1382, 1382,    0,    0,    0,
    0,    0, 1203, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1383, 1383, 1383, 1383, 1383,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1383,    0, 1383,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1383,
    0, 1383,    0,    0, 1383,    0, 1383, 1383,    0,    0,
 1383, 1383,    0, 1383,    0,    0,    0,    0,    0, 1383,
    0,    0, 1383, 1383, 1383, 1383,    0, 1383,    0,    0,
 1383,    0,    0, 1383,    0,    0,    0,    0,    0,    0,
 1383,    0, 1383, 1383,    0, 1383, 1383, 1383,    0, 1383,
 1383,    0,    0, 1383,    0,    0, 1383,    0, 1383, 1383,
    0,    0, 1383, 1383, 1383,    0, 1383,    0, 1383, 1383,
 1383, 1383, 1383, 1383,    0,    0,    0, 1383, 1383, 1383,
 1383, 1383,    0,    0,    0, 1383,    0,    0,    0,    0,
    0,    0,    0, 1383,    0, 1383, 1383, 1383, 1383,    0,
 1383,    0,    0,    0,    0, 1383, 1383,    0, 1383,    0,
 1383,    0, 1383, 1383, 1383,    0, 1383,    0, 1383, 1383,
 1383,    0, 1383, 1383, 1383, 1383, 1383,    0, 1383, 1383,
    0,    0,    0,    0, 1383,    0, 1383, 1383,    0,    0,
 1383, 1383, 1383,    0,    0, 1383,    0,    0, 1383,    0,
    0, 1383, 1383, 1383, 1383,    0, 1383,    0, 1383,    0,
 1383, 1383, 1383, 1383, 1383,    0,    0, 1383, 1383, 1383,
    0, 1383, 1383,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1383, 1383, 1383,    0, 1383, 1383, 1383,    0,
    0,    0, 1383,    0,    0, 1383,    0, 1383, 1383, 1383,
 1383,    0, 1383,    0, 1383, 1383, 1383, 1383, 1383, 1383,
 1383, 1383,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1383, 1383,    0, 1383, 1383, 1383,    0,    0,    0,
    0, 1383, 1383, 1383, 1383, 1383,    0, 1383,    0,    0,
 1383, 1383, 1383, 1383, 1383, 1383, 1383,    0,    0,    0,
 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383,    0, 1383,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1383,
 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
    0, 1383, 1383, 1383, 1383, 1383, 1383,    0, 1383, 1383,
 1383, 1383,    0, 1383,    0, 1383, 1383, 1383, 1383, 1383,
 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
 1383, 1383, 1383, 1386, 1383, 1383, 1383, 1383,    0, 1383,
 1383, 1383, 1383, 1383,    0, 1383, 1383, 1383, 1383, 1383,
 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
    0, 1383, 1383, 1383, 1383, 1383, 1383, 1383,    0,    0,
    0,    0,    0, 1204, 1386, 1386, 1386, 1386, 1386, 1386,
 1386,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1386, 1386, 1386, 1386, 1386,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1386,    0, 1386,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1386,    0, 1386,    0,    0, 1386,    0, 1386, 1386,    0,
    0, 1386, 1386,    0, 1386,    0,    0,    0,    0,    0,
 1386,    0,    0, 1386, 1386, 1386, 1386,    0, 1386,    0,
    0, 1386,    0,    0, 1386,    0,    0,    0,    0,    0,
    0, 1386,    0, 1386, 1386,    0, 1386, 1386, 1386,    0,
 1386, 1386,    0,    0, 1386,    0,    0, 1386,    0, 1386,
 1386,    0,    0, 1386, 1386, 1386,    0, 1386,    0, 1386,
 1386, 1386, 1386, 1386, 1386,    0,    0,    0, 1386, 1386,
 1386, 1386, 1386,    0,    0,    0, 1386,    0,    0,    0,
    0,    0,    0,    0, 1386,    0, 1386, 1386, 1386, 1386,
    0, 1386,    0,    0,    0,    0, 1386, 1386,    0, 1386,
    0, 1386,    0, 1386, 1386, 1386,    0, 1386,    0, 1386,
 1386, 1386,    0, 1386, 1386, 1386, 1386, 1386,    0, 1386,
 1386,    0,    0,    0,    0, 1386,    0, 1386, 1386,    0,
    0, 1386, 1386, 1386,    0,    0, 1386,    0,    0, 1386,
    0,    0, 1386, 1386, 1386, 1386,    0, 1386,    0, 1386,
    0, 1386, 1386, 1386, 1386, 1386,    0,    0, 1386, 1386,
 1386,    0, 1386, 1386,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1386, 1386, 1386,    0, 1386, 1386, 1386,
    0,    0,    0, 1386,    0,    0, 1386,    0, 1386, 1386,
 1386, 1386,    0, 1386,    0, 1386, 1386, 1386, 1386, 1386,
 1386, 1386, 1386,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1386, 1386,    0, 1386, 1386, 1386,    0,    0,
    0,    0, 1386, 1386, 1386, 1386, 1386,    0, 1386,    0,
    0, 1386, 1386, 1386, 1386, 1386, 1386, 1386,    0,    0,
    0, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,    0,
 1386,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
 1386,    0, 1386, 1386, 1386, 1386, 1386, 1386,    0, 1386,
 1386, 1386, 1386,    0, 1386,    0, 1386, 1386, 1386, 1386,
 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
 1386, 1386, 1386, 1386, 1388, 1386, 1386, 1386, 1386,    0,
 1386, 1386, 1386, 1386, 1386,    0, 1386, 1386, 1386, 1386,
 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
 1386,    0, 1386, 1386, 1386, 1386, 1386, 1386, 1386,    0,
    0,    0,    0,    0, 1205, 1388, 1388, 1388, 1388, 1388,
 1388, 1388,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1388, 1388, 1388, 1388, 1388,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1388,    0, 1388,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1388,    0, 1388,    0,    0, 1388,    0, 1388, 1388,
    0,    0, 1388, 1388,    0, 1388,    0,    0,    0,    0,
    0, 1388,    0,    0, 1388, 1388, 1388, 1388,    0, 1388,
    0,    0, 1388,    0,    0, 1388,    0,    0,    0,    0,
    0,    0, 1388,    0, 1388, 1388,    0, 1388, 1388, 1388,
    0, 1388, 1388,    0,    0, 1388,    0,    0, 1388,    0,
 1388, 1388,    0,    0, 1388, 1388, 1388,    0, 1388,    0,
 1388, 1388, 1388, 1388, 1388, 1388,    0,    0,    0, 1388,
 1388, 1388, 1388, 1388,    0,    0,    0, 1388,    0,    0,
    0,    0,    0,    0,    0, 1388,    0, 1388, 1388, 1388,
 1388,    0, 1388,    0,    0,    0,    0, 1388, 1388,    0,
 1388,    0, 1388,    0, 1388, 1388, 1388,    0, 1388,    0,
 1388, 1388, 1388,    0, 1388, 1388, 1388, 1388, 1388,    0,
 1388, 1388,    0,    0,    0,    0, 1388,    0, 1388, 1388,
    0,    0, 1388, 1388, 1388,    0,    0, 1388,    0,    0,
 1388,    0,    0, 1388, 1388, 1388, 1388,    0, 1388,    0,
 1388,    0, 1388, 1388, 1388, 1388, 1388,    0,    0, 1388,
 1388, 1388,    0, 1388, 1388,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1388, 1388, 1388,    0, 1388, 1388,
 1388,    0,    0,    0, 1388,    0,    0, 1388,    0, 1388,
 1388, 1388, 1388,    0, 1388,    0, 1388, 1388, 1388, 1388,
 1388, 1388, 1388, 1388,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1388, 1388,    0, 1388, 1388, 1388,    0,
    0,    0,    0, 1388, 1388, 1388, 1388, 1388,    0, 1388,
    0,    0, 1388, 1388, 1388, 1388, 1388, 1388, 1388,    0,
    0,    0, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
    0, 1388,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
 1388, 1388,    0, 1388, 1388, 1388, 1388, 1388, 1388,    0,
 1388, 1388, 1388, 1388,    0, 1388,    0, 1388, 1388, 1388,
 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
 1388, 1388, 1388, 1388, 1388, 1389, 1388, 1388, 1388, 1388,
    0, 1388, 1388, 1388, 1388, 1388,    0, 1388, 1388, 1388,
 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
 1388, 1388,    0, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
    0,    0,    0,    0,    0, 1206, 1389, 1389, 1389, 1389,
 1389, 1389, 1389,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1389, 1389, 1389, 1389, 1389,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1389,    0, 1389,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1389,    0, 1389,    0,    0, 1389,    0, 1389,
 1389,    0,    0, 1389, 1389,    0, 1389,    0,    0,    0,
    0,    0, 1389,    0,    0, 1389, 1389, 1389, 1389,    0,
 1389,    0,    0, 1389,    0,    0, 1389,    0,    0,    0,
    0,    0,    0, 1389,    0, 1389, 1389,    0, 1389, 1389,
 1389,    0, 1389, 1389,    0,    0, 1389,    0,    0, 1389,
    0, 1389, 1389,    0,    0, 1389, 1389, 1389,    0, 1389,
    0, 1389, 1389, 1389, 1389, 1389, 1389,    0,    0,    0,
 1389, 1389, 1389, 1389, 1389,    0,    0,    0, 1389,    0,
    0,    0,    0,    0,    0,    0, 1389,    0, 1389, 1389,
 1389, 1389,    0, 1389,    0,    0,    0,    0, 1389, 1389,
    0, 1389,    0, 1389,    0, 1389, 1389, 1389,    0, 1389,
    0, 1389, 1389, 1389,    0, 1389, 1389, 1389, 1389, 1389,
    0, 1389, 1389,    0,    0,    0,    0, 1389,    0, 1389,
 1389,    0,    0, 1389, 1389, 1389,    0,    0, 1389,    0,
    0, 1389,    0,    0, 1389, 1389, 1389, 1389,    0, 1389,
    0, 1389,    0, 1389, 1389, 1389, 1389, 1389,    0,    0,
 1389, 1389, 1389,    0, 1389, 1389,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1389, 1389, 1389,    0, 1389,
 1389, 1389,    0,    0,    0, 1389,    0,    0, 1389,    0,
 1389, 1389, 1389, 1389,    0, 1389,    0, 1389, 1389, 1389,
 1389, 1389, 1389, 1389, 1389,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1389, 1389,    0, 1389, 1389, 1389,
    0,    0,    0,    0, 1389, 1389, 1389, 1389, 1389,    0,
 1389,    0,    0, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
    0,    0,    0, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
 1389,    0, 1389,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
 1389, 1389, 1389,    0, 1389, 1389, 1389, 1389, 1389, 1389,
    0, 1389, 1389, 1389, 1389,    0, 1389,    0, 1389, 1389,
 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
 1389, 1389, 1389, 1389, 1389, 1389, 1392, 1389, 1389, 1389,
 1389,    0, 1389, 1389, 1389, 1389, 1389,    0, 1389, 1389,
 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
 1389, 1389, 1389,    0, 1389, 1389, 1389, 1389, 1389, 1389,
 1389,    0,    0,    0,    0,    0, 1207, 1392, 1392, 1392,
 1392, 1392, 1392, 1392,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1392, 1392, 1392, 1392, 1392,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1392,    0, 1392,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1392,    0, 1392,    0,    0, 1392,    0,
 1392, 1392,    0,    0, 1392, 1392,    0, 1392,    0,    0,
    0,    0,    0, 1392,    0,    0, 1392, 1392, 1392, 1392,
    0, 1392,    0,    0, 1392,    0,    0, 1392,    0,    0,
    0,    0,    0,    0, 1392,    0, 1392, 1392,    0, 1392,
 1392, 1392,    0, 1392, 1392,    0,    0, 1392,    0,    0,
 1392,    0, 1392, 1392,    0,    0, 1392, 1392, 1392,    0,
 1392,    0, 1392, 1392, 1392, 1392, 1392, 1392,    0,    0,
    0, 1392, 1392, 1392, 1392, 1392,    0,    0,    0, 1392,
    0,    0,    0,    0,    0,    0,    0, 1392,    0, 1392,
 1392, 1392, 1392,    0, 1392,    0,    0,    0,    0, 1392,
 1392,    0, 1392,    0, 1392,    0, 1392, 1392, 1392,    0,
 1392,    0, 1392, 1392, 1392,    0, 1392, 1392, 1392, 1392,
 1392,    0, 1392, 1392,    0,    0,    0,    0, 1392,    0,
 1392, 1392,    0,    0, 1392, 1392, 1392,    0,    0, 1392,
    0,    0, 1392,    0,    0, 1392, 1392, 1392, 1392,    0,
 1392,    0, 1392,    0, 1392, 1392, 1392, 1392, 1392,    0,
    0, 1392, 1392, 1392,    0, 1392, 1392,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1392, 1392, 1392,    0,
 1392, 1392, 1392,    0,    0,    0, 1392,    0,    0, 1392,
    0, 1392, 1392, 1392, 1392,    0, 1392,    0, 1392, 1392,
 1392, 1392, 1392, 1392, 1392, 1392,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1392, 1392,    0, 1392, 1392,
 1392,    0,    0,    0,    0, 1392, 1392, 1392, 1392, 1392,
    0, 1392,    0,    0, 1392, 1392, 1392, 1392, 1392, 1392,
 1392,    0,    0,    0, 1392, 1392, 1392, 1392, 1392, 1392,
 1392, 1392,    0, 1392,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
 1392, 1392, 1392, 1392,    0, 1392, 1392, 1392, 1392, 1392,
 1392,    0, 1392, 1392, 1392, 1392,    0, 1392,    0, 1392,
 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1394, 1392, 1392,
 1392, 1392,    0, 1392, 1392, 1392, 1392, 1392,    0, 1392,
 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
 1392, 1392, 1392, 1392,    0, 1392, 1392, 1392, 1392, 1392,
 1392, 1392,    0,    0,    0,    0,    0, 1209, 1394, 1394,
 1394, 1394, 1394, 1394, 1394,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1394, 1394, 1394, 1394, 1394,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1394,    0,
 1394,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1394,    0, 1394,    0,    0, 1394,
    0, 1394, 1394,    0,    0, 1394, 1394,    0, 1394,    0,
    0,    0,    0,    0, 1394,    0,    0, 1394, 1394, 1394,
 1394,    0, 1394,    0,    0, 1394,    0,    0, 1394,    0,
    0,    0,    0,    0,    0, 1394,    0, 1394, 1394,    0,
 1394, 1394, 1394,    0, 1394, 1394,    0,    0, 1394,    0,
    0, 1394,    0, 1394, 1394,    0,    0, 1394, 1394, 1394,
    0, 1394,    0, 1394, 1394, 1394, 1394, 1394, 1394,    0,
    0,    0, 1394, 1394, 1394, 1394, 1394,    0,    0,    0,
 1394,    0,    0,    0,    0,    0,    0,    0, 1394,    0,
 1394, 1394, 1394, 1394,    0, 1394,    0,    0,    0,    0,
 1394, 1394,    0, 1394,    0, 1394,    0, 1394, 1394, 1394,
    0, 1394,    0, 1394, 1394, 1394,    0, 1394, 1394, 1394,
 1394, 1394,    0, 1394, 1394,    0,    0,    0,    0, 1394,
    0, 1394, 1394,    0,    0, 1394, 1394, 1394,    0,    0,
 1394,    0,    0, 1394,    0,    0, 1394, 1394, 1394, 1394,
    0, 1394,    0, 1394,    0, 1394, 1394, 1394, 1394, 1394,
    0,    0, 1394, 1394, 1394,    0, 1394, 1394,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1394, 1394, 1394,
    0, 1394, 1394, 1394,    0,    0,    0, 1394,    0,    0,
 1394,    0, 1394, 1394, 1394, 1394,    0, 1394,    0, 1394,
 1394, 1394, 1394, 1394, 1394, 1394, 1394,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1394, 1394,    0, 1394,
 1394, 1394,    0,    0,    0,    0, 1394, 1394, 1394, 1394,
 1394,    0, 1394,    0,    0, 1394, 1394, 1394, 1394, 1394,
 1394, 1394,    0,    0,    0, 1394, 1394, 1394, 1394, 1394,
 1394, 1394, 1394,    0, 1394,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1394, 1394, 1394, 1394, 1394, 1394,
 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394,
 1394, 1394, 1394, 1394, 1394,    0, 1394, 1394, 1394, 1394,
 1394, 1394,    0, 1394, 1394, 1394, 1394,    0, 1394,    0,
 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394,
 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1396, 1394,
 1394, 1394, 1394,    0, 1394, 1394, 1394, 1394, 1394,    0,
 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394,
 1394, 1394, 1394, 1394, 1394,    0, 1394, 1394, 1394, 1394,
 1394, 1394, 1394,    0,    0,    0,    0,    0, 1210, 1396,
 1396, 1396, 1396, 1396, 1396, 1396,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1396, 1396, 1396, 1396,
 1396,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1396,
    0, 1396,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1396,    0, 1396,    0,    0,
 1396,    0, 1396, 1396,    0,    0, 1396, 1396,    0, 1396,
    0,    0,    0,    0,    0, 1396,    0,    0, 1396, 1396,
 1396, 1396,    0, 1396,    0,    0, 1396,    0,    0, 1396,
    0,    0,    0,    0,    0,    0, 1396,    0, 1396, 1396,
    0, 1396, 1396, 1396,    0, 1396, 1396,    0,    0, 1396,
    0,    0, 1396,    0, 1396, 1396,    0,    0, 1396, 1396,
 1396,    0, 1396,    0, 1396, 1396, 1396, 1396, 1396, 1396,
    0,    0,    0, 1396, 1396, 1396, 1396, 1396,    0,    0,
    0, 1396,    0,    0,    0,    0,    0,    0,    0, 1396,
    0, 1396, 1396, 1396, 1396,    0, 1396,    0,    0,    0,
    0, 1396, 1396,    0, 1396,    0, 1396,    0, 1396, 1396,
 1396,    0, 1396,    0, 1396, 1396, 1396,    0, 1396, 1396,
 1396, 1396, 1396,    0, 1396, 1396,    0,    0,    0,    0,
 1396,    0, 1396, 1396,    0,    0, 1396, 1396, 1396,    0,
    0, 1396,    0,    0, 1396,    0,    0, 1396, 1396, 1396,
 1396,    0, 1396,    0, 1396,    0, 1396, 1396, 1396, 1396,
 1396,    0,    0, 1396, 1396, 1396,    0, 1396, 1396,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1396, 1396,
 1396,    0, 1396, 1396, 1396,    0,    0,    0, 1396,    0,
    0, 1396,    0, 1396, 1396, 1396, 1396,    0, 1396,    0,
 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1396, 1396,    0,
 1396, 1396, 1396,    0,    0,    0,    0, 1396, 1396, 1396,
 1396, 1396,    0, 1396,    0,    0, 1396, 1396, 1396, 1396,
 1396, 1396, 1396,    0,    0,    0, 1396, 1396, 1396, 1396,
 1396, 1396, 1396, 1396,    0, 1396,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1396, 1396, 1396, 1396, 1396,
 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396,
 1396, 1396, 1396, 1396, 1396, 1396,    0, 1396, 1396, 1396,
 1396, 1396, 1396,    0, 1396, 1396, 1396, 1396,    0, 1396,
    0, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396,
 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1397,
 1396, 1396, 1396, 1396,    0, 1396, 1396, 1396, 1396, 1396,
    0, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396,
 1396, 1396, 1396, 1396, 1396, 1396,    0, 1396, 1396, 1396,
 1396, 1396, 1396, 1396,    0,    0,    0,    0,    0, 1211,
 1397, 1397, 1397, 1397, 1397, 1397, 1397,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1397, 1397, 1397,
 1397, 1397,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1397,    0, 1397,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1397,    0, 1397,    0,
    0, 1397,    0, 1397, 1397,    0,    0, 1397, 1397,    0,
 1397,    0,    0,    0,    0,    0, 1397,    0,    0, 1397,
 1397, 1397, 1397,    0, 1397,    0,    0, 1397,    0,    0,
 1397,    0,    0,    0,    0,    0,    0, 1397,    0, 1397,
 1397,    0, 1397, 1397, 1397,    0, 1397, 1397,    0,    0,
 1397,    0,    0, 1397,    0, 1397, 1397,    0,    0, 1397,
 1397, 1397,    0, 1397,    0, 1397, 1397, 1397, 1397, 1397,
 1397,    0,    0,    0, 1397, 1397, 1397, 1397, 1397,    0,
    0,    0, 1397,    0,    0,    0,    0,    0,    0,    0,
 1397,    0, 1397, 1397, 1397, 1397,    0, 1397,    0,    0,
    0,    0, 1397, 1397,    0, 1397,    0, 1397,    0, 1397,
 1397, 1397,    0, 1397,    0, 1397, 1397, 1397,    0, 1397,
 1397, 1397, 1397, 1397,    0, 1397, 1397,    0,    0,    0,
    0, 1397,    0, 1397, 1397,    0,    0, 1397, 1397, 1397,
    0,    0, 1397,    0,    0, 1397,    0,    0, 1397, 1397,
 1397, 1397,    0, 1397,    0, 1397,    0, 1397, 1397, 1397,
 1397, 1397,    0,    0, 1397, 1397, 1397,    0, 1397, 1397,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1397,
 1397, 1397,    0, 1397, 1397, 1397,    0,    0,    0, 1397,
    0,    0, 1397,    0, 1397, 1397, 1397, 1397,    0, 1397,
    0, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1397, 1397,
    0, 1397, 1397, 1397,    0,    0,    0,    0, 1397, 1397,
 1397, 1397, 1397,    0, 1397,    0,    0, 1397, 1397, 1397,
 1397, 1397, 1397, 1397,    0,    0,    0, 1397, 1397, 1397,
 1397, 1397, 1397, 1397, 1397,    0, 1397,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1397, 1397, 1397, 1397,
 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
 1397, 1397, 1397, 1397, 1397, 1397, 1397,    0, 1397, 1397,
 1397, 1397, 1397, 1397,    0, 1397, 1397, 1397, 1397,    0,
 1397,    0, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
 1398, 1397, 1397, 1397, 1397,    0, 1397, 1397, 1397, 1397,
 1397,    0, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
 1397, 1397, 1397, 1397, 1397, 1397, 1397,    0, 1397, 1397,
 1397, 1397, 1397, 1397, 1397,    0,    0,    0,    0,    0,
 1212, 1398, 1398, 1398, 1398, 1398, 1398, 1398,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1398, 1398,
 1398, 1398, 1398,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1398,    0, 1398,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1398,    0, 1398,
    0,    0, 1398,    0, 1398, 1398,    0,    0, 1398, 1398,
    0, 1398,    0,    0,    0,    0,    0, 1398,    0,    0,
 1398, 1398, 1398, 1398,    0, 1398,    0,    0, 1398,    0,
    0, 1398,    0,    0,    0,    0,    0,    0, 1398,    0,
 1398, 1398,    0, 1398, 1398, 1398,    0, 1398, 1398,    0,
    0, 1398,    0,    0, 1398,    0, 1398, 1398,    0,    0,
 1398, 1398, 1398,    0, 1398,    0, 1398, 1398, 1398, 1398,
 1398, 1398,    0,    0,    0, 1398, 1398, 1398, 1398, 1398,
    0,    0,    0, 1398,    0,    0,    0,    0,    0,    0,
    0, 1398,    0, 1398, 1398, 1398, 1398,    0, 1398,    0,
    0,    0,    0, 1398, 1398,    0, 1398,    0, 1398,    0,
 1398, 1398, 1398,    0, 1398,    0, 1398, 1398, 1398,    0,
 1398, 1398, 1398, 1398, 1398,    0, 1398, 1398,    0,    0,
    0,    0, 1398,    0, 1398, 1398,    0,    0, 1398, 1398,
 1398,    0,    0, 1398,    0,    0, 1398,    0,    0, 1398,
 1398, 1398, 1398,    0, 1398,    0, 1398,    0, 1398, 1398,
 1398, 1398, 1398,    0,    0, 1398, 1398, 1398,    0, 1398,
 1398,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1398, 1398, 1398,    0, 1398, 1398, 1398,    0,    0,    0,
 1398,    0,    0, 1398,    0, 1398, 1398, 1398, 1398,    0,
 1398,    0, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1398,
 1398,    0, 1398, 1398, 1398,    0,    0,    0,    0, 1398,
 1398, 1398, 1398, 1398,    0, 1398,    0,    0, 1398, 1398,
 1398, 1398, 1398, 1398, 1398,    0,    0,    0, 1398, 1398,
 1398, 1398, 1398, 1398, 1398, 1398,    0, 1398,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1398, 1398, 1398,
 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,    0, 1398,
 1398, 1398, 1398, 1398, 1398,    0, 1398, 1398, 1398, 1398,
    0, 1398,    0, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
 1398, 1399, 1398, 1398, 1398, 1398,    0, 1398, 1398, 1398,
 1398, 1398,    0, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,    0, 1398,
 1398, 1398, 1398, 1398, 1398, 1398,    0,    0,    0,    0,
    0, 1214, 1399, 1399, 1399, 1399, 1399, 1399, 1399,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1399,
 1399, 1399, 1399, 1399,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1399,    0, 1399,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1399,    0,
 1399,    0,    0, 1399,    0, 1399, 1399,    0,    0, 1399,
 1399,    0, 1399,    0,    0,    0,    0,    0, 1399,    0,
    0, 1399, 1399, 1399, 1399,    0, 1399,    0,    0, 1399,
    0,    0, 1399,    0,    0,    0,    0,    0,    0, 1399,
    0, 1399, 1399,    0, 1399, 1399, 1399,    0, 1399, 1399,
    0,    0, 1399,    0,    0, 1399,    0, 1399, 1399,    0,
    0, 1399, 1399, 1399,    0, 1399,    0, 1399, 1399, 1399,
 1399, 1399, 1399,    0,    0,    0, 1399, 1399, 1399, 1399,
 1399,    0,    0,    0, 1399,    0,    0,    0,    0,    0,
    0,    0, 1399,    0, 1399, 1399, 1399, 1399,    0, 1399,
    0,    0,    0,    0, 1399, 1399,    0, 1399,    0, 1399,
    0, 1399, 1399, 1399,    0, 1399,    0, 1399, 1399, 1399,
    0, 1399, 1399, 1399, 1399, 1399,    0, 1399, 1399,    0,
    0,    0,    0, 1399,    0, 1399, 1399,    0,    0, 1399,
 1399, 1399,    0,    0, 1399,    0,    0, 1399,    0,    0,
 1399, 1399, 1399, 1399,    0, 1399,    0, 1399,    0, 1399,
 1399, 1399, 1399, 1399,    0,    0, 1399, 1399, 1399,    0,
 1399, 1399,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1399, 1399, 1399,    0, 1399, 1399, 1399,    0,    0,
    0, 1399,    0,    0, 1399,    0, 1399, 1399, 1399, 1399,
    0, 1399,    0, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
 1399,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1399, 1399,    0, 1399, 1399, 1399,    0,    0,    0,    0,
 1399, 1399, 1399, 1399, 1399,    0, 1399,    0,    0, 1399,
 1399, 1399, 1399, 1399, 1399, 1399,    0,    0,    0, 1399,
 1399, 1399, 1399, 1399, 1399, 1399, 1399,    0, 1399,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1399, 1399,
 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,    0,
 1399, 1399, 1399, 1399, 1399, 1399,    0, 1399, 1399, 1399,
 1399,    0, 1399,    0, 1399, 1399, 1399, 1399, 1399, 1399,
 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
 1399, 1399, 1400, 1399, 1399, 1399, 1399,    0, 1399, 1399,
 1399, 1399, 1399,    0, 1399, 1399, 1399, 1399, 1399, 1399,
 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,    0,
 1399, 1399, 1399, 1399, 1399, 1399, 1399,    0,    0,    0,
    0,    0, 1215, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1400, 1400, 1400, 1400, 1400,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1400,    0, 1400,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1400,
    0, 1400,    0,    0, 1400,    0, 1400, 1400,    0,    0,
 1400, 1400,    0, 1400,    0,    0,    0,    0,    0, 1400,
    0,    0, 1400, 1400, 1400, 1400,    0, 1400,    0,    0,
 1400,    0,    0, 1400,    0,    0,    0,    0,    0,    0,
 1400,    0, 1400, 1400,    0, 1400, 1400, 1400,    0, 1400,
 1400,    0,    0, 1400,    0,    0, 1400,    0, 1400, 1400,
    0,    0, 1400, 1400, 1400,    0, 1400,    0, 1400, 1400,
 1400, 1400, 1400, 1400,    0,    0,    0, 1400, 1400, 1400,
 1400, 1400,    0,    0,    0, 1400,    0,    0,    0,    0,
    0,    0,    0, 1400,    0, 1400, 1400, 1400, 1400,    0,
 1400,    0,    0,    0,    0, 1400, 1400,    0, 1400,    0,
 1400,    0, 1400, 1400, 1400,    0, 1400,    0, 1400, 1400,
 1400,    0, 1400, 1400, 1400, 1400, 1400,    0, 1400, 1400,
    0,    0,    0,    0, 1400,    0, 1400, 1400,    0,    0,
 1400, 1400, 1400,    0,    0, 1400,    0,    0, 1400,    0,
    0, 1400, 1400, 1400, 1400,    0, 1400,    0, 1400,    0,
 1400, 1400, 1400, 1400, 1400,    0,    0, 1400, 1400, 1400,
    0, 1400, 1400,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1400, 1400, 1400,    0, 1400, 1400, 1400,    0,
    0,    0, 1400,    0,    0, 1400,    0, 1400, 1400, 1400,
 1400,    0, 1400,    0, 1400, 1400, 1400, 1400, 1400, 1400,
 1400, 1400,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1400, 1400,    0, 1400, 1400, 1400,    0,    0,    0,
    0, 1400, 1400, 1400, 1400, 1400,    0, 1400,    0,    0,
 1400, 1400, 1400, 1400, 1400, 1400, 1400,    0,    0,    0,
 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,    0, 1400,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1400,
 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
    0, 1400, 1400, 1400, 1400, 1400, 1400,    0, 1400, 1400,
 1400, 1400,    0, 1400,    0, 1400, 1400, 1400, 1400, 1400,
 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
 1400, 1400, 1400, 1401, 1400, 1400, 1400, 1400,    0, 1400,
 1400, 1400, 1400, 1400,    0, 1400, 1400, 1400, 1400, 1400,
 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
    0, 1400, 1400, 1400, 1400, 1400, 1400, 1400,    0,    0,
    0,    0,    0, 1216, 1401, 1401, 1401, 1401, 1401, 1401,
 1401,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1401, 1401, 1401, 1401, 1401,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1401,    0, 1401,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1401,    0, 1401,    0,    0, 1401,    0, 1401, 1401,    0,
    0, 1401, 1401,    0, 1401,    0,    0,    0,    0,    0,
 1401,    0,    0, 1401, 1401, 1401, 1401,    0, 1401,    0,
    0, 1401,    0,    0, 1401,    0,    0,    0,    0,    0,
    0, 1401,    0, 1401, 1401,    0, 1401, 1401, 1401,    0,
 1401, 1401,    0,    0, 1401,    0,    0, 1401,    0, 1401,
 1401,    0,    0, 1401, 1401, 1401,    0, 1401,    0, 1401,
 1401, 1401, 1401, 1401, 1401,    0,    0,    0, 1401, 1401,
 1401, 1401, 1401,    0,    0,    0, 1401,    0,    0,    0,
    0,    0,    0,    0, 1401,    0, 1401, 1401, 1401, 1401,
    0, 1401,    0,    0,    0,    0, 1401, 1401,    0, 1401,
    0, 1401,    0, 1401, 1401, 1401,    0, 1401,    0, 1401,
 1401, 1401,    0, 1401, 1401, 1401, 1401, 1401,    0, 1401,
 1401,    0,    0,    0,    0, 1401,    0, 1401, 1401,    0,
    0, 1401, 1401, 1401,    0,    0, 1401,    0,    0, 1401,
    0,    0, 1401, 1401, 1401, 1401,    0, 1401,    0, 1401,
    0, 1401, 1401, 1401, 1401, 1401,    0,    0, 1401, 1401,
 1401,    0, 1401, 1401,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1401, 1401, 1401,    0, 1401, 1401, 1401,
    0,    0,    0, 1401,    0,    0, 1401,    0, 1401, 1401,
 1401, 1401,    0, 1401,    0, 1401, 1401, 1401, 1401, 1401,
 1401, 1401, 1401,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1401, 1401,    0, 1401, 1401, 1401,    0,    0,
    0,    0, 1401, 1401, 1401, 1401, 1401,    0, 1401,    0,
    0, 1401, 1401, 1401, 1401, 1401, 1401, 1401,    0,    0,
    0, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,    0,
 1401,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,
 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,
 1401,    0, 1401, 1401, 1401, 1401, 1401, 1401,    0, 1401,
 1401, 1401, 1401,    0, 1401,    0, 1401, 1401, 1401, 1401,
 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,
 1401, 1401, 1401, 1401, 1402, 1401, 1401, 1401, 1401,    0,
 1401, 1401, 1401, 1401, 1401,    0, 1401, 1401, 1401, 1401,
 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,
 1401,    0, 1401, 1401, 1401, 1401, 1401, 1401, 1401,    0,
    0,    0,    0,    0, 1217, 1402, 1402, 1402, 1402, 1402,
 1402, 1402,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1402, 1402, 1402, 1402, 1402,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1402,    0, 1402,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1402,    0, 1402,    0,    0, 1402,    0, 1402, 1402,
    0,    0, 1402, 1402,    0, 1402,    0,    0,    0,    0,
    0, 1402,    0,    0, 1402, 1402, 1402, 1402,    0, 1402,
    0,    0, 1402,    0,    0, 1402,    0,    0,    0,    0,
    0,    0, 1402,    0, 1402, 1402,    0, 1402, 1402, 1402,
    0, 1402, 1402,    0,    0, 1402,    0,    0, 1402,    0,
 1402, 1402,    0,    0, 1402, 1402, 1402,    0, 1402,    0,
 1402, 1402, 1402, 1402, 1402, 1402,    0,    0,    0, 1402,
 1402, 1402, 1402, 1402,    0,    0,    0, 1402,    0,    0,
    0,    0,    0,    0,    0, 1402,    0, 1402, 1402, 1402,
 1402,    0, 1402,    0,    0,    0,    0, 1402, 1402,    0,
 1402,    0, 1402,    0, 1402, 1402, 1402,    0, 1402,    0,
 1402, 1402, 1402,    0, 1402, 1402, 1402, 1402, 1402,    0,
 1402, 1402,    0,    0,    0,    0, 1402,    0, 1402, 1402,
    0,    0, 1402, 1402, 1402,    0,    0, 1402,    0,    0,
 1402,    0,    0, 1402, 1402, 1402, 1402,    0, 1402,    0,
 1402,    0, 1402, 1402, 1402, 1402, 1402,    0,    0, 1402,
 1402, 1402,    0, 1402, 1402,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1402, 1402, 1402,    0, 1402, 1402,
 1402,    0,    0,    0, 1402,    0,    0, 1402,    0, 1402,
 1402, 1402, 1402,    0, 1402,    0, 1402, 1402, 1402, 1402,
 1402, 1402, 1402, 1402,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1402, 1402,    0, 1402, 1402, 1402,    0,
    0,    0,    0, 1402, 1402, 1402, 1402, 1402,    0, 1402,
    0,    0, 1402, 1402, 1402, 1402, 1402, 1402, 1402,    0,
    0,    0, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
    0, 1402,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
 1402, 1402,    0, 1402, 1402, 1402, 1402, 1402, 1402,    0,
 1402, 1402, 1402, 1402,    0, 1402,    0, 1402, 1402, 1402,
 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
 1402, 1402, 1402, 1402, 1402, 1403, 1402, 1402, 1402, 1402,
    0, 1402, 1402, 1402, 1402, 1402,    0, 1402, 1402, 1402,
 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
 1402, 1402,    0, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
    0,    0,    0,    0,    0, 1218, 1403, 1403, 1403, 1403,
 1403, 1403, 1403,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1403, 1403, 1403, 1403, 1403,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1403,    0, 1403,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1403,    0, 1403,    0,    0, 1403,    0, 1403,
 1403,    0,    0, 1403, 1403,    0, 1403,    0,    0,    0,
    0,    0, 1403,    0,    0, 1403, 1403, 1403, 1403,    0,
 1403,    0,    0, 1403,    0,    0, 1403,    0,    0,    0,
    0,    0,    0, 1403,    0, 1403, 1403,    0, 1403, 1403,
 1403,    0, 1403, 1403,    0,    0, 1403,    0,    0, 1403,
    0, 1403, 1403,    0,    0, 1403, 1403, 1403,    0, 1403,
    0, 1403, 1403, 1403, 1403, 1403, 1403,    0,    0,    0,
 1403, 1403, 1403, 1403, 1403,    0,    0,    0, 1403,    0,
    0,    0,    0,    0,    0,    0, 1403,    0, 1403, 1403,
 1403, 1403,    0, 1403,    0,    0,    0,    0, 1403, 1403,
    0, 1403,    0, 1403,    0, 1403, 1403, 1403,    0, 1403,
    0, 1403, 1403, 1403,    0, 1403, 1403, 1403, 1403, 1403,
    0, 1403, 1403,    0,    0,    0,    0, 1403,    0, 1403,
 1403,    0,    0, 1403, 1403, 1403,    0,    0, 1403,    0,
    0, 1403,    0,    0, 1403, 1403, 1403, 1403,    0, 1403,
    0, 1403,    0, 1403, 1403, 1403, 1403, 1403,    0,    0,
 1403, 1403, 1403,    0, 1403, 1403,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1403, 1403, 1403,    0, 1403,
 1403, 1403,    0,    0,    0, 1403,    0,    0, 1403,    0,
 1403, 1403, 1403, 1403,    0, 1403,    0, 1403, 1403, 1403,
 1403, 1403, 1403, 1403, 1403,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1403, 1403,    0, 1403, 1403, 1403,
    0,    0,    0,    0, 1403, 1403, 1403, 1403, 1403,    0,
 1403,    0,    0, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
    0,    0,    0, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 1403,    0, 1403,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 1403, 1403, 1403,    0, 1403, 1403, 1403, 1403, 1403, 1403,
    0, 1403, 1403, 1403, 1403,    0, 1403,    0, 1403, 1403,
 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 1403, 1403, 1403, 1403, 1403, 1403, 1405, 1403, 1403, 1403,
 1403,    0, 1403, 1403, 1403, 1403, 1403,    0, 1403, 1403,
 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
 1403, 1403, 1403,    0, 1403, 1403, 1403, 1403, 1403, 1403,
 1403,    0,    0,    0,    0,    0, 1219, 1405, 1405, 1405,
 1405, 1405, 1405, 1405,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1405, 1405, 1405, 1405, 1405,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1405,    0, 1405,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1405,    0, 1405,    0,    0, 1405,    0,
 1405, 1405,    0,    0, 1405, 1405,    0, 1405,    0,    0,
    0,    0,    0, 1405,    0,    0, 1405, 1405, 1405, 1405,
    0, 1405,    0,    0, 1405,    0,    0, 1405,    0,    0,
    0,    0,    0,    0, 1405,    0, 1405, 1405,    0, 1405,
 1405, 1405,    0, 1405, 1405,    0,    0, 1405,    0,    0,
 1405,    0, 1405, 1405,    0,    0, 1405, 1405, 1405,    0,
 1405,    0, 1405, 1405, 1405, 1405, 1405, 1405,    0,    0,
    0, 1405, 1405, 1405, 1405, 1405,    0,    0,    0, 1405,
    0,    0,    0,    0,    0,    0,    0, 1405,    0, 1405,
 1405, 1405, 1405,    0, 1405,    0,    0,    0,    0, 1405,
 1405,    0, 1405,    0, 1405,    0, 1405, 1405, 1405,    0,
 1405,    0, 1405, 1405, 1405,    0, 1405, 1405, 1405, 1405,
 1405,    0, 1405, 1405,    0,    0,    0,    0, 1405,    0,
 1405, 1405,    0,    0, 1405, 1405, 1405,    0,    0, 1405,
    0,    0, 1405,    0,    0, 1405, 1405, 1405, 1405,    0,
 1405,    0, 1405,    0, 1405, 1405, 1405, 1405, 1405,    0,
    0, 1405, 1405, 1405,    0, 1405, 1405,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1405, 1405, 1405,    0,
 1405, 1405, 1405,    0,    0,    0, 1405,    0,    0, 1405,
    0, 1405, 1405, 1405, 1405,    0, 1405,    0, 1405, 1405,
 1405, 1405, 1405, 1405, 1405, 1405,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1405, 1405,    0, 1405, 1405,
 1405,    0,    0,    0,    0, 1405, 1405, 1405, 1405, 1405,
    0, 1405,    0,    0, 1405, 1405, 1405, 1405, 1405, 1405,
 1405,    0,    0,    0, 1405, 1405, 1405, 1405, 1405, 1405,
 1405, 1405,    0, 1405,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1405, 1405, 1405, 1405, 1405, 1405, 1405,
 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405,
 1405, 1405, 1405, 1405,    0, 1405, 1405, 1405, 1405, 1405,
 1405,    0, 1405, 1405, 1405, 1405,    0, 1405,    0, 1405,
 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405,
 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1406, 1405, 1405,
 1405, 1405,    0, 1405, 1405, 1405, 1405, 1405,    0, 1405,
 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405,
 1405, 1405, 1405, 1405,    0, 1405, 1405, 1405, 1405, 1405,
 1405, 1405,    0,    0,    0,    0,    0, 1220, 1406, 1406,
 1406, 1406, 1406, 1406, 1406,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1406, 1406, 1406, 1406, 1406,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1406,    0,
 1406,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1406,    0, 1406,    0,    0, 1406,
    0, 1406, 1406,    0,    0, 1406, 1406,    0, 1406,    0,
    0,    0,    0,    0, 1406,    0,    0, 1406, 1406, 1406,
 1406,    0, 1406,    0,    0, 1406,    0,    0, 1406,    0,
    0,    0,    0,    0,    0, 1406,    0, 1406, 1406,    0,
 1406, 1406, 1406,    0, 1406, 1406,    0,    0, 1406,    0,
    0, 1406,    0, 1406, 1406,    0,    0, 1406, 1406, 1406,
    0, 1406,    0, 1406, 1406, 1406, 1406, 1406, 1406,    0,
    0,    0, 1406, 1406, 1406, 1406, 1406,    0,    0,    0,
 1406,    0,    0,    0,    0,    0,    0,    0, 1406,    0,
 1406, 1406, 1406, 1406,    0, 1406,    0,    0,    0,    0,
 1406, 1406,    0, 1406,    0, 1406,    0, 1406, 1406, 1406,
    0, 1406,    0, 1406, 1406, 1406,    0, 1406, 1406, 1406,
 1406, 1406,    0, 1406, 1406,    0,    0,    0,    0, 1406,
    0, 1406, 1406,    0,    0, 1406, 1406, 1406,    0,    0,
 1406,    0,    0, 1406,    0,    0, 1406, 1406, 1406, 1406,
    0, 1406,    0, 1406,    0, 1406, 1406, 1406, 1406, 1406,
    0,    0, 1406, 1406, 1406,    0, 1406, 1406,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1406, 1406, 1406,
    0, 1406, 1406, 1406,    0,    0,    0, 1406,    0,    0,
 1406,    0, 1406, 1406, 1406, 1406,    0, 1406,    0, 1406,
 1406, 1406, 1406, 1406, 1406, 1406, 1406,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1406, 1406,    0, 1406,
 1406, 1406,    0,    0,    0,    0, 1406, 1406, 1406, 1406,
 1406,    0, 1406,    0,    0, 1406, 1406, 1406, 1406, 1406,
 1406, 1406,    0,    0,    0, 1406, 1406, 1406, 1406, 1406,
 1406, 1406, 1406,    0, 1406,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1406, 1406, 1406, 1406, 1406, 1406,
 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
 1406, 1406, 1406, 1406, 1406,    0, 1406, 1406, 1406, 1406,
 1406, 1406,    0, 1406, 1406, 1406, 1406,    0, 1406,    0,
 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1407, 1406,
 1406, 1406, 1406,    0, 1406, 1406, 1406, 1406, 1406,    0,
 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
 1406, 1406, 1406, 1406, 1406,    0, 1406, 1406, 1406, 1406,
 1406, 1406, 1406,    0,    0,    0,    0,    0, 1221, 1407,
 1407, 1407, 1407, 1407, 1407, 1407,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1407, 1407, 1407, 1407,
 1407,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1407,
    0, 1407,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1407,    0, 1407,    0,    0,
 1407,    0, 1407, 1407,    0,    0, 1407, 1407,    0, 1407,
    0,    0,    0,    0,    0, 1407,    0,    0, 1407, 1407,
 1407, 1407,    0, 1407,    0,    0, 1407,    0,    0, 1407,
    0,    0,    0,    0,    0,    0, 1407,    0, 1407, 1407,
    0, 1407, 1407, 1407,    0, 1407, 1407,    0,    0, 1407,
    0,    0, 1407,    0, 1407, 1407,    0,    0, 1407, 1407,
 1407,    0, 1407,    0, 1407, 1407, 1407, 1407, 1407, 1407,
    0,    0,    0, 1407, 1407, 1407, 1407, 1407,    0,    0,
    0, 1407,    0,    0,    0,    0,    0,    0,    0, 1407,
    0, 1407, 1407, 1407, 1407,    0, 1407,    0,    0,    0,
    0, 1407, 1407,    0, 1407,    0, 1407,    0, 1407, 1407,
 1407,    0, 1407,    0, 1407, 1407, 1407,    0, 1407, 1407,
 1407, 1407, 1407,    0, 1407, 1407,    0,    0,    0,    0,
 1407,    0, 1407, 1407,    0,    0, 1407, 1407, 1407,    0,
    0, 1407,    0,    0, 1407,    0,    0, 1407, 1407, 1407,
 1407,    0, 1407,    0, 1407,    0, 1407, 1407, 1407, 1407,
 1407,    0,    0, 1407, 1407, 1407,    0, 1407, 1407,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1407, 1407,
 1407,    0, 1407, 1407, 1407,    0,    0,    0, 1407,    0,
    0, 1407,    0, 1407, 1407, 1407, 1407,    0, 1407,    0,
 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1407, 1407,    0,
 1407, 1407, 1407,    0,    0,    0,    0, 1407, 1407, 1407,
 1407, 1407,    0, 1407,    0,    0, 1407, 1407, 1407, 1407,
 1407, 1407, 1407,    0,    0,    0, 1407, 1407, 1407, 1407,
 1407, 1407, 1407, 1407,    0, 1407,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1407, 1407, 1407, 1407, 1407,
 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407,
 1407, 1407, 1407, 1407, 1407, 1407,    0, 1407, 1407, 1407,
 1407, 1407, 1407,    0, 1407, 1407, 1407, 1407,    0, 1407,
    0, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407,
 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1409,
 1407, 1407, 1407, 1407,    0, 1407, 1407, 1407, 1407, 1407,
    0, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407,
 1407, 1407, 1407, 1407, 1407, 1407,    0, 1407, 1407, 1407,
 1407, 1407, 1407, 1407,    0,    0,    0,    0,    0, 1222,
 1409, 1409, 1409, 1409, 1409, 1409, 1409,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1409, 1409, 1409,
 1409, 1409,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1409,    0, 1409,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1409,    0, 1409,    0,
    0, 1409,    0, 1409, 1409,    0,    0, 1409, 1409,    0,
 1409,    0,    0,    0,    0,    0, 1409,    0,    0, 1409,
 1409, 1409, 1409,    0, 1409,    0,    0, 1409,    0,    0,
 1409,    0,    0,    0,    0,    0,    0, 1409,    0, 1409,
 1409,    0, 1409, 1409, 1409,    0, 1409, 1409,    0,    0,
 1409,    0,    0, 1409,    0, 1409, 1409,    0,    0, 1409,
 1409, 1409,    0, 1409,    0, 1409, 1409, 1409, 1409, 1409,
 1409,    0,    0,    0, 1409, 1409, 1409, 1409, 1409,    0,
    0,    0, 1409,    0,    0,    0,    0,    0,    0,    0,
 1409,    0, 1409, 1409, 1409, 1409,    0, 1409,    0,    0,
    0,    0, 1409, 1409,    0, 1409,    0, 1409,    0, 1409,
 1409, 1409,    0, 1409,    0, 1409, 1409, 1409,    0, 1409,
 1409, 1409, 1409, 1409,    0, 1409, 1409,    0,    0,    0,
    0, 1409,    0, 1409, 1409,    0,    0, 1409, 1409, 1409,
    0,    0, 1409,    0,    0, 1409,    0,    0, 1409, 1409,
 1409, 1409,    0, 1409,    0, 1409,    0, 1409, 1409, 1409,
 1409, 1409,    0,    0, 1409, 1409, 1409,    0, 1409, 1409,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1409,
 1409, 1409,    0, 1409, 1409, 1409,    0,    0,    0, 1409,
    0,    0, 1409,    0, 1409, 1409, 1409, 1409,    0, 1409,
    0, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1409, 1409,
    0, 1409, 1409, 1409,    0,    0,    0,    0, 1409, 1409,
 1409, 1409, 1409,    0, 1409,    0,    0, 1409, 1409, 1409,
 1409, 1409, 1409, 1409,    0,    0,    0, 1409, 1409, 1409,
 1409, 1409, 1409, 1409, 1409,    0, 1409,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1409, 1409, 1409, 1409,
 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
 1409, 1409, 1409, 1409, 1409, 1409, 1409,    0, 1409, 1409,
 1409, 1409, 1409, 1409,    0, 1409, 1409, 1409, 1409,    0,
 1409,    0, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
 1412, 1409, 1409, 1409, 1409,    0, 1409, 1409, 1409, 1409,
 1409,    0, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
 1409, 1409, 1409, 1409, 1409, 1409, 1409,    0, 1409, 1409,
 1409, 1409, 1409, 1409, 1409,    0,    0,    0,    0,    0,
 1191, 1412, 1412, 1412, 1412, 1412, 1412, 1412,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1412, 1412,
 1412, 1412, 1412,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1412,    0, 1412,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1412,    0, 1412,
    0,    0, 1412,    0, 1412, 1412,    0,    0, 1412, 1412,
    0, 1412,    0,    0,    0,    0,    0, 1412,    0,    0,
 1412, 1412, 1412, 1412,    0, 1412,    0,    0, 1412,    0,
    0, 1412,    0,    0,    0,    0,    0,    0, 1412,    0,
 1412, 1412,    0, 1412, 1412, 1412,    0, 1412, 1412,    0,
    0, 1412,    0,    0, 1412,    0, 1412, 1412,    0,    0,
 1412, 1412, 1412,    0, 1412,    0, 1412, 1412, 1412, 1412,
 1412, 1412,    0,    0,    0, 1412, 1412, 1412, 1412, 1412,
    0,    0,    0, 1412,    0,    0,    0,    0,    0,    0,
    0, 1412,    0, 1412, 1412, 1412, 1412,    0, 1412,    0,
    0,    0,    0, 1412, 1412,    0, 1412,    0, 1412,    0,
 1412, 1412, 1412,    0, 1412,    0, 1412, 1412, 1412,    0,
 1412, 1412, 1412, 1412, 1412,    0, 1412, 1412,    0,    0,
    0,    0, 1412,    0, 1412, 1412,    0,    0, 1412, 1412,
 1412,    0,    0, 1412,    0,    0, 1412,    0,    0, 1412,
 1412, 1412, 1412,    0, 1412,    0, 1412,    0, 1412, 1412,
 1412, 1412, 1412,    0,    0, 1412, 1412, 1412,    0, 1412,
 1412,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1412, 1412, 1412,    0, 1412, 1412, 1412,    0,    0,    0,
 1412,    0,    0, 1412,    0, 1412, 1412, 1412, 1412,    0,
 1412,    0, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1412,
 1412,    0, 1412, 1412, 1412,    0,    0,    0,    0, 1412,
 1412, 1412, 1412, 1412,    0, 1412,    0,    0, 1412, 1412,
 1412, 1412, 1412, 1412, 1412,    0,    0,    0, 1412, 1412,
 1412, 1412, 1412, 1412, 1412, 1412,    0, 1412,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1412, 1412, 1412,
 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,    0, 1412,
 1412, 1412, 1412, 1412, 1412,    0, 1412, 1412, 1412, 1412,
    0, 1412,    0, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
 1412, 1418, 1412, 1412, 1412, 1412,    0, 1412, 1412, 1412,
 1412, 1412,    0, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,    0, 1412,
 1412, 1412, 1412, 1412, 1412, 1412,    0,    0,    0,    0,
    0, 1223, 1418, 1418, 1418, 1418, 1418, 1418, 1418,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1418,
 1418, 1418, 1418, 1418,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1418,    0, 1418,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1418,    0,
 1418,    0,    0, 1418,    0, 1418, 1418,    0,    0, 1418,
 1418,    0, 1418,    0,    0,    0,    0,    0, 1418,    0,
    0, 1418, 1418, 1418, 1418,    0, 1418,    0,    0, 1418,
    0,    0, 1418,    0,    0,    0,    0,    0,    0, 1418,
    0, 1418, 1418,    0, 1418, 1418, 1418,    0, 1418, 1418,
    0,    0, 1418,    0,    0, 1418,    0, 1418, 1418,    0,
    0, 1418, 1418, 1418,    0, 1418,    0, 1418, 1418, 1418,
 1418, 1418, 1418,    0,    0,    0, 1418, 1418, 1418, 1418,
 1418,    0,    0,    0, 1418,    0,    0,    0,    0,    0,
    0,    0, 1418,    0, 1418, 1418, 1418, 1418,    0, 1418,
    0,    0,    0,    0, 1418, 1418,    0, 1418,    0, 1418,
    0, 1418, 1418, 1418,    0, 1418,    0, 1418, 1418, 1418,
    0, 1418, 1418, 1418, 1418, 1418,    0, 1418, 1418,    0,
    0,    0,    0, 1418,    0, 1418, 1418,    0,    0, 1418,
 1418, 1418,    0,    0, 1418,    0,    0, 1418,    0,    0,
 1418, 1418, 1418, 1418,    0, 1418,    0, 1418,    0, 1418,
 1418, 1418, 1418, 1418,    0,    0, 1418, 1418, 1418,    0,
 1418, 1418,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1418, 1418, 1418,    0, 1418, 1418, 1418,    0,    0,
    0, 1418,    0,    0, 1418,    0, 1418, 1418, 1418, 1418,
    0, 1418,    0, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
 1418,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1418, 1418,    0, 1418, 1418, 1418,    0,    0,    0,    0,
 1418, 1418, 1418, 1418, 1418,    0, 1418,    0,    0, 1418,
 1418, 1418, 1418, 1418, 1418, 1418,    0,    0,    0, 1418,
 1418, 1418, 1418, 1418, 1418, 1418, 1418,    0, 1418,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1418, 1418,
 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,    0,
 1418, 1418, 1418, 1418, 1418, 1418,    0, 1418, 1418, 1418,
 1418,    0, 1418,    0, 1418, 1418, 1418, 1418, 1418, 1418,
 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
 1418, 1418, 1425, 1418, 1418, 1418, 1418,    0, 1418, 1418,
 1418, 1418, 1418,    0, 1418, 1418, 1418, 1418, 1418, 1418,
 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,    0,
 1418, 1418, 1418, 1418, 1418, 1418, 1418,    0,    0,    0,
    0,    0, 1185, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1425, 1425, 1425, 1425, 1425,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1425,    0, 1425,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1425,
    0, 1425,    0,    0, 1425,    0, 1425, 1425,    0,    0,
 1425, 1425,    0, 1425,    0,    0,    0,    0,    0, 1425,
    0,    0, 1425, 1425, 1425, 1425,    0, 1425,    0,    0,
 1425,    0,    0, 1425,    0,    0,    0,    0,    0,    0,
 1425,    0, 1425, 1425,    0, 1425, 1425, 1425,    0, 1425,
 1425,    0,    0, 1425,    0,    0, 1425,    0, 1425, 1425,
    0,    0, 1425, 1425, 1425,    0, 1425,    0, 1425, 1425,
 1425, 1425, 1425, 1425,    0,    0,    0, 1425, 1425, 1425,
 1425, 1425,    0,    0,    0, 1425,    0,    0,    0,    0,
    0,    0,    0, 1425,    0, 1425, 1425, 1425, 1425,    0,
 1425,    0,    0,    0,    0, 1425, 1425,    0, 1425,    0,
 1425,    0, 1425, 1425, 1425,    0, 1425,    0, 1425, 1425,
 1425,    0, 1425, 1425, 1425, 1425, 1425,    0, 1425, 1425,
    0,    0,    0,    0, 1425,    0, 1425, 1425,    0,    0,
 1425, 1425, 1425,    0,    0, 1425,    0,    0, 1425,    0,
    0, 1425, 1425, 1425, 1425,    0, 1425,    0, 1425,    0,
 1425, 1425, 1425, 1425, 1425,    0,    0, 1425, 1425, 1425,
    0, 1425, 1425,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1425, 1425, 1425,    0, 1425, 1425, 1425,    0,
    0,    0, 1425,    0,    0, 1425,    0, 1425, 1425, 1425,
 1425,    0, 1425,    0, 1425, 1425, 1425, 1425, 1425, 1425,
 1425, 1425,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1425, 1425,    0, 1425, 1425, 1425,    0,    0,    0,
    0, 1425, 1425, 1425, 1425, 1425,    0, 1425,    0,    0,
 1425, 1425, 1425, 1425, 1425, 1425, 1425,    0,    0,    0,
 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,    0, 1425,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1425,
 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
    0, 1425, 1425, 1425, 1425, 1425, 1425,    0, 1425, 1425,
 1425, 1425,    0, 1425,    0, 1425, 1425, 1425, 1425, 1425,
 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
 1425, 1425, 1425, 1323, 1425, 1425, 1425, 1425,    0, 1425,
 1425, 1425, 1425, 1425,    0, 1425, 1425, 1425, 1425, 1425,
 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
    0, 1425, 1425, 1425, 1425, 1425, 1425, 1425,    0,    0,
    0,    0,    0,    0, 1323, 1323, 1323, 1323, 1323, 1323,
 1323,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1323, 1323, 1323, 1323, 1323,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1323,    0, 1323,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1323,    0, 1323,    0,    0, 1323,    0, 1323, 1323,    0,
    0, 1323, 1323,    0, 1323,    0,    0,    0,    0,    0,
 1323,    0,    0, 1323, 1323, 1323, 1323,    0, 1323,    0,
    0, 1323,    0,    0, 1323,    0,    0,    0,    0,    0,
    0, 1323,    0, 1323, 1323,    0, 1323, 1323, 1323,    0,
 1323, 1323,    0,    0, 1323,    0,    0, 1323,    0, 1323,
 1323,    0,    0, 1323, 1323, 1323,    0, 1323,    0, 1323,
 1323, 1323, 1323, 1323, 1323,    0,    0,    0, 1323, 1323,
 1323, 1323, 1323,    0,    0,    0, 1323,    0,    0,    0,
    0,    0,    0,    0, 1323,    0, 1323, 1323, 1323, 1323,
    0, 1323,    0,    0,    0,    0, 1323, 1323,    0, 1323,
    0, 1323,    0, 1323, 1323, 1323,    0, 1323,    0, 1323,
 1323, 1323,    0, 1323, 1323, 1323, 1323, 1323,    0, 1323,
 1323,    0,    0,    0,    0, 1323,    0, 1323, 1323,    0,
    0, 1323, 1323, 1323,    0,    0, 1323,    0,    0, 1323,
    0,    0, 1323, 1323, 1323, 1323,    0, 1323,    0, 1323,
    0, 1323, 1323, 1323, 1323, 1323,    0,    0, 1323, 1323,
 1323,    0, 1323, 1323,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1323, 1323, 1323,    0, 1323, 1323, 1323,
    0,    0,    0, 1323,    0,    0, 1323,    0, 1323, 1323,
 1323, 1323,    0, 1323,    0, 1323, 1323, 1323, 1323, 1323,
 1323, 1323, 1323,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1323, 1323,    0, 1323, 1323, 1323,    0,    0,
    0,    0, 1323, 1323, 1323, 1323, 1323,    0, 1323,    0,
    0, 1323, 1323, 1323, 1323, 1323, 1323, 1323,    0,    0,
    0, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323,    0,
 1323,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323,
 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323,
 1323,    0, 1323, 1323, 1323, 1323, 1323, 1323,    0, 1323,
 1323, 1323, 1323,    0, 1323,    0, 1323, 1323, 1323, 1323,
 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323,
 1323, 1323, 1323, 1323, 1371, 1323, 1323, 1323, 1323,    0,
 1323, 1323, 1323, 1323, 1323,    0, 1323, 1323, 1323, 1323,
 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323,
 1323,    0, 1323, 1323, 1323, 1323, 1323, 1323, 1323,    0,
    0,    0,    0,    0,    0, 1371, 1371, 1371, 1371, 1371,
 1371, 1371,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1371, 1371, 1371, 1371, 1371,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1371,    0, 1371,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1371,    0, 1371,    0,    0, 1371,    0, 1371, 1371,
    0,    0, 1371, 1371,    0, 1371,    0,    0,    0,    0,
    0, 1371,    0,    0, 1371, 1371, 1371, 1371,    0, 1371,
    0,    0, 1371,    0,    0, 1371,    0,    0,    0,    0,
    0,    0, 1371,    0, 1371, 1371,    0, 1371, 1371, 1371,
    0, 1371, 1371,    0,    0, 1371,    0,    0, 1371,    0,
 1371, 1371,    0,    0, 1371, 1371, 1371,    0, 1371,    0,
 1371, 1371, 1371, 1371, 1371, 1371,    0,    0,    0, 1371,
 1371, 1371, 1371, 1371,    0,    0,    0, 1371,    0,    0,
    0,    0,    0,    0,    0, 1371,    0, 1371, 1371, 1371,
 1371,    0, 1371,    0,    0,    0,    0, 1371, 1371,    0,
 1371,    0, 1371,    0, 1371, 1371, 1371,    0, 1371,    0,
 1371, 1371, 1371,    0, 1371, 1371, 1371, 1371, 1371,    0,
 1371, 1371,    0,    0,    0,    0, 1371,    0, 1371, 1371,
    0,    0, 1371, 1371, 1371,    0,    0, 1371,    0,    0,
 1371,    0,    0, 1371, 1371, 1371, 1371,    0, 1371,    0,
 1371,    0, 1371, 1371, 1371, 1371, 1371,    0,    0, 1371,
 1371, 1371,    0, 1371, 1371,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1371, 1371, 1371,    0, 1371, 1371,
 1371,    0,    0,    0, 1371,    0,    0, 1371,    0, 1371,
 1371, 1371, 1371,    0, 1371,    0, 1371, 1371, 1371, 1371,
 1371, 1371, 1371, 1371,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1371, 1371,    0, 1371, 1371, 1371,    0,
    0,    0,    0, 1371, 1371, 1371, 1371, 1371,    0, 1371,
    0,    0, 1371, 1371, 1371, 1371, 1371, 1371, 1371,    0,
    0,    0, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
    0, 1371,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
 1371, 1371,    0, 1371, 1371, 1371, 1371, 1371, 1371,    0,
 1371, 1371, 1371, 1371,    0, 1371,    0, 1371, 1371, 1371,
 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
 1371, 1371, 1371, 1371, 1371, 1372, 1371, 1371, 1371, 1371,
    0, 1371, 1371, 1371, 1371, 1371,    0, 1371, 1371, 1371,
 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
 1371, 1371,    0, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
    0,    0,    0,    0,    0,    0, 1372, 1372, 1372, 1372,
 1372, 1372, 1372,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1372, 1372, 1372, 1372, 1372,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1372,    0, 1372,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1372,    0, 1372,    0,    0, 1372,    0, 1372,
 1372,    0,    0, 1372, 1372,    0, 1372,    0,    0,    0,
    0,    0, 1372,    0,    0, 1372, 1372, 1372, 1372,    0,
 1372,    0,    0, 1372,    0,    0, 1372,    0,    0,    0,
    0,    0,    0, 1372,    0, 1372, 1372,    0, 1372, 1372,
 1372,    0, 1372, 1372,    0,    0, 1372,    0,    0, 1372,
    0, 1372, 1372,    0,    0, 1372, 1372, 1372,    0, 1372,
    0, 1372, 1372, 1372, 1372, 1372, 1372,    0,    0,    0,
 1372, 1372, 1372, 1372, 1372,    0,    0,    0, 1372,    0,
    0,    0,    0,    0,    0,    0, 1372,    0, 1372, 1372,
 1372, 1372,    0, 1372,    0,    0,    0,    0, 1372, 1372,
    0, 1372,    0, 1372,    0, 1372, 1372, 1372,    0, 1372,
    0, 1372, 1372, 1372,    0, 1372, 1372, 1372, 1372, 1372,
    0, 1372, 1372,    0,    0,    0,    0, 1372,    0, 1372,
 1372,    0,    0, 1372, 1372, 1372,    0,    0, 1372,    0,
    0, 1372,    0,    0, 1372, 1372, 1372, 1372,    0, 1372,
    0, 1372,    0, 1372, 1372, 1372, 1372, 1372,    0,    0,
 1372, 1372, 1372,    0, 1372, 1372,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1372, 1372, 1372,    0, 1372,
 1372, 1372,    0,    0,    0, 1372,    0,    0, 1372,    0,
 1372, 1372, 1372, 1372,    0, 1372,    0, 1372, 1372, 1372,
 1372, 1372, 1372, 1372, 1372,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1372, 1372,    0, 1372, 1372, 1372,
    0,    0,    0,    0, 1372, 1372, 1372, 1372, 1372,    0,
 1372,    0,    0, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
    0,    0,    0, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
 1372,    0, 1372,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
 1372, 1372, 1372,    0, 1372, 1372, 1372, 1372, 1372, 1372,
    0, 1372, 1372, 1372, 1372,    0, 1372,    0, 1372, 1372,
 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
 1372, 1372, 1372, 1372, 1372, 1372, 1390, 1372, 1372, 1372,
 1372,    0, 1372, 1372, 1372, 1372, 1372,    0, 1372, 1372,
 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
 1372, 1372, 1372,    0, 1372, 1372, 1372, 1372, 1372, 1372,
 1372,    0,    0,    0,    0,    0,    0, 1390, 1390, 1390,
 1390, 1390, 1390, 1390,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1390, 1390, 1390, 1390, 1390,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1390,    0, 1390,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1390,    0, 1390,    0,    0, 1390,    0,
 1390, 1390,    0,    0, 1390, 1390,    0, 1390,    0,    0,
    0,    0,    0, 1390,    0,    0, 1390, 1390, 1390, 1390,
    0, 1390,    0,    0, 1390,    0,    0, 1390,    0,    0,
    0,    0,    0,    0, 1390,    0, 1390, 1390,    0, 1390,
 1390, 1390,    0, 1390, 1390,    0,    0, 1390,    0,    0,
 1390,    0, 1390, 1390,    0,    0, 1390, 1390, 1390,    0,
 1390,    0, 1390, 1390, 1390, 1390, 1390, 1390,    0,    0,
    0, 1390, 1390, 1390, 1390, 1390,    0,    0,    0, 1390,
    0,    0,    0,    0,    0,    0,    0, 1390,    0, 1390,
 1390, 1390, 1390,    0, 1390,    0,    0,    0,    0, 1390,
 1390,    0, 1390,    0, 1390,    0, 1390, 1390, 1390,    0,
 1390,    0, 1390, 1390, 1390,    0, 1390, 1390, 1390, 1390,
 1390,    0, 1390, 1390,    0,    0,    0,    0, 1390,    0,
 1390, 1390,    0,    0, 1390, 1390, 1390,    0,    0, 1390,
    0,    0, 1390,    0,    0, 1390, 1390, 1390, 1390,    0,
 1390,    0, 1390,    0, 1390, 1390, 1390, 1390, 1390,    0,
    0, 1390, 1390, 1390,    0, 1390, 1390,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1390, 1390, 1390,    0,
 1390, 1390, 1390,    0,    0,    0, 1390,    0,    0, 1390,
    0, 1390, 1390, 1390, 1390,    0, 1390,    0, 1390, 1390,
 1390, 1390, 1390, 1390, 1390, 1390,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1390, 1390,    0, 1390, 1390,
 1390,    0,    0,    0,    0, 1390, 1390, 1390, 1390, 1390,
    0, 1390,    0,    0, 1390, 1390, 1390, 1390, 1390, 1390,
 1390,    0,    0,    0, 1390, 1390, 1390, 1390, 1390, 1390,
 1390, 1390,    0, 1390,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1390, 1390, 1390, 1390, 1390, 1390, 1390,
 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390,
 1390, 1390, 1390, 1390,    0, 1390, 1390, 1390, 1390, 1390,
 1390,    0, 1390, 1390, 1390, 1390,    0, 1390,    0, 1390,
 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390,
 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1445, 1390, 1390,
 1390, 1390,    0, 1390, 1390, 1390, 1390, 1390,    0, 1390,
 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390,
 1390, 1390, 1390, 1390,    0, 1390, 1390, 1390, 1390, 1390,
 1390, 1390,    0,    0,    0,    0,    0,    0, 1445, 1445,
 1445, 1445, 1445, 1445, 1445,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1445, 1445, 1445, 1445,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1445,    0,
 1445,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1445,    0, 1445,    0,    0, 1445,
    0, 1445, 1445,    0,    0, 1445, 1445,    0, 1445,    0,
    0,    0,    0,    0, 1445,    0,    0, 1445, 1445, 1445,
 1445,    0, 1445,    0,    0, 1445,    0,    0, 1445,    0,
    0,    0,    0,    0,    0, 1445,    0, 1445, 1445,    0,
 1445, 1445, 1445,    0, 1445, 1445,    0,    0, 1445,    0,
    0, 1445,    0, 1445, 1445,    0,    0, 1445, 1445, 1445,
    0, 1445,    0, 1445, 1445, 1445, 1445, 1445, 1445,    0,
    0,    0, 1445, 1445, 1445, 1445, 1445,    0,    0,    0,
 1445,    0,    0,    0,    0,    0,    0,    0, 1445,    0,
 1445, 1445, 1445, 1445,    0, 1445,    0,    0,    0,    0,
 1445, 1445,    0, 1445,    0, 1445,    0, 1445, 1445, 1445,
    0, 1445,    0, 1445, 1445, 1445,    0, 1445, 1445, 1445,
 1445, 1445,    0, 1445, 1445,    0,    0,    0,    0, 1445,
    0, 1445, 1445,    0,    0, 1445, 1445, 1445,    0,    0,
 1445,    0,    0, 1445,    0,    0, 1445, 1445, 1445, 1445,
    0, 1445,    0, 1445,    0, 1445, 1445, 1445, 1445, 1445,
    0,    0, 1445, 1445, 1445,    0, 1445, 1445,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1445, 1445, 1445,
    0, 1445, 1445, 1445,    0,    0,    0, 1445,    0,    0,
 1445,    0, 1445, 1445, 1445, 1445,    0, 1445,    0, 1445,
 1445, 1445, 1445, 1445, 1445, 1445, 1445,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1445, 1445,    0, 1445,
 1445, 1445,    0,    0,    0,    0, 1445, 1445, 1445, 1445,
 1445,    0, 1445,    0,    0, 1445, 1445, 1445, 1445, 1445,
 1445, 1445,    0,    0,    0, 1445, 1445, 1445, 1445, 1445,
 1445, 1445, 1445,    0, 1445,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1445, 1445, 1445, 1445, 1445, 1445,
 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445,
 1445, 1445, 1445, 1445, 1445,    0, 1445, 1445, 1445, 1445,
 1445, 1445,    0, 1445, 1445, 1445, 1445,    0, 1445,    0,
 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445,
 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1328, 1445,
 1445, 1445, 1445,    0, 1445, 1445, 1445, 1445, 1445,    0,
 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445,
 1445, 1445, 1445, 1445, 1445,    0, 1445, 1445, 1445, 1445,
 1445, 1445, 1445,    0,    0,    0,    0,    0,    0, 1328,
 1328, 1328, 1328, 1328, 1328, 1328,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1328, 1328, 1328,
 1328,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1328,
    0, 1328,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1328,    0, 1328,    0,    0,
 1328,    0, 1328, 1328,    0,    0, 1328, 1328,    0, 1328,
    0,    0,    0,    0,    0, 1328,    0,    0, 1328, 1328,
 1328, 1328,    0, 1328,    0,    0, 1328,    0,    0, 1328,
    0,    0,    0,    0,    0,    0, 1328,    0, 1328, 1328,
    0, 1328, 1328, 1328,    0, 1328, 1328,    0,    0, 1328,
    0,    0, 1328,    0, 1328, 1328,    0,    0, 1328, 1328,
 1328,    0, 1328,    0, 1328, 1328, 1328, 1328, 1328, 1328,
    0,    0,    0, 1328, 1328, 1328, 1328, 1328,    0,    0,
    0, 1328,    0,    0,    0,    0,    0,    0,    0, 1328,
    0, 1328, 1328, 1328, 1328,    0, 1328,    0,    0,    0,
    0, 1328, 1328,    0, 1328,    0, 1328,    0, 1328, 1328,
 1328,    0, 1328,    0, 1328, 1328, 1328,    0, 1328, 1328,
 1328, 1328, 1328,    0, 1328, 1328,    0,    0,    0,    0,
 1328,    0, 1328, 1328,    0,    0, 1328, 1328, 1328,    0,
    0, 1328,    0,    0, 1328,    0,    0, 1328, 1328, 1328,
 1328,    0, 1328,    0, 1328,    0, 1328, 1328, 1328, 1328,
 1328,    0,    0, 1328, 1328, 1328,    0, 1328, 1328,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1328, 1328,
 1328,    0, 1328, 1328, 1328,    0,    0,    0, 1328,    0,
    0, 1328,    0, 1328, 1328, 1328, 1328,    0, 1328,    0,
 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1328, 1328,    0,
 1328, 1328, 1328,    0,    0,    0,    0, 1328, 1328, 1328,
 1328, 1328,    0, 1328,    0,    0, 1328, 1328, 1328, 1328,
 1328, 1328, 1328,    0,    0,    0, 1328, 1328, 1328, 1328,
 1328, 1328, 1328, 1328,    0, 1328,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1328, 1328, 1328, 1328, 1328,
 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328,
 1328, 1328, 1328, 1328, 1328, 1328,    0, 1328, 1328, 1328,
 1328, 1328, 1328,    0, 1328, 1328, 1328, 1328,    0, 1328,
    0, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328,
 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1324,
 1328, 1328, 1328, 1328,    0, 1328, 1328, 1328, 1328, 1328,
    0, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328,
 1328, 1328, 1328, 1328, 1328, 1328,    0, 1328, 1328, 1328,
 1328, 1328, 1328, 1328,    0,    0,    0,    0,    0,    0,
 1324, 1324, 1324, 1324, 1324, 1324, 1324,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1324, 1324,
 1324, 1324,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1324,    0, 1324,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1324,    0, 1324,    0,
    0, 1324,    0, 1324, 1324,    0,    0, 1324, 1324,    0,
 1324,    0,    0,    0,    0,    0, 1324,    0,    0, 1324,
 1324, 1324, 1324,    0, 1324,    0,    0, 1324,    0,    0,
 1324,    0,    0,    0,    0,    0,    0, 1324,    0, 1324,
 1324,    0, 1324, 1324, 1324,    0, 1324, 1324,    0,    0,
 1324,    0,    0, 1324,    0, 1324, 1324,    0,    0, 1324,
 1324, 1324,    0, 1324,    0, 1324, 1324, 1324, 1324, 1324,
 1324,    0,    0,    0, 1324, 1324, 1324, 1324, 1324,    0,
    0,    0, 1324,    0,    0,    0,    0,    0,    0,    0,
 1324,    0, 1324, 1324, 1324, 1324,    0, 1324,    0,    0,
    0,    0, 1324, 1324,    0, 1324,    0, 1324,    0, 1324,
 1324, 1324,    0, 1324,    0, 1324, 1324, 1324,    0, 1324,
 1324, 1324, 1324, 1324,    0, 1324, 1324,    0,    0,    0,
    0, 1324,    0, 1324, 1324,    0,    0, 1324, 1324, 1324,
    0,    0, 1324,    0,    0, 1324,    0,    0, 1324, 1324,
 1324, 1324,    0, 1324,    0, 1324,    0, 1324, 1324, 1324,
 1324, 1324,    0,    0, 1324, 1324, 1324,    0, 1324, 1324,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1324,
 1324, 1324,    0, 1324, 1324, 1324,    0,    0,    0, 1324,
    0,    0, 1324,    0, 1324, 1324, 1324, 1324,    0, 1324,
    0, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1324, 1324,
    0, 1324, 1324, 1324,    0,    0,    0,    0, 1324, 1324,
 1324, 1324, 1324,    0, 1324,    0,    0, 1324, 1324, 1324,
 1324, 1324, 1324, 1324,    0,    0,    0, 1324, 1324, 1324,
 1324, 1324, 1324, 1324, 1324,    0, 1324,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1324, 1324, 1324, 1324,
 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324,
 1324, 1324, 1324, 1324, 1324, 1324, 1324,    0, 1324, 1324,
 1324, 1324, 1324, 1324,    0, 1324, 1324, 1324, 1324,    0,
 1324,    0, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324,
 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324,
 1339, 1324, 1324, 1324, 1324,    0, 1324, 1324, 1324, 1324,
 1324,    0, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324,
 1324, 1324, 1324, 1324, 1324, 1324, 1324,    0, 1324, 1324,
 1324, 1324, 1324, 1324, 1324,    0,    0,    0,    0,    0,
    0, 1339, 1339, 1339, 1339, 1339, 1339, 1339,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1339,
 1339, 1339, 1339,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1339,    0, 1339,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1339,    0, 1339,
    0,    0, 1339,    0, 1339, 1339,    0,    0, 1339, 1339,
    0, 1339,    0,    0,    0,    0,    0, 1339,    0,    0,
 1339, 1339, 1339, 1339,    0, 1339,    0,    0, 1339,    0,
    0, 1339,    0,    0,    0,    0,    0,    0, 1339,    0,
 1339, 1339,    0, 1339, 1339, 1339,    0, 1339, 1339,    0,
    0, 1339,    0,    0, 1339,    0, 1339, 1339,    0,    0,
 1339, 1339, 1339,    0, 1339,    0, 1339, 1339, 1339, 1339,
 1339, 1339,    0,    0,    0, 1339, 1339, 1339, 1339, 1339,
    0,    0,    0, 1339,    0,    0,    0,    0,    0,    0,
    0, 1339,    0, 1339, 1339, 1339, 1339,    0, 1339,    0,
    0,    0,    0, 1339, 1339,    0, 1339,    0, 1339,    0,
 1339, 1339, 1339,    0, 1339,    0, 1339, 1339, 1339,    0,
 1339, 1339, 1339, 1339, 1339,    0, 1339, 1339,    0,    0,
    0,    0, 1339,    0, 1339, 1339,    0,    0, 1339, 1339,
 1339,    0,    0, 1339,    0,    0, 1339,    0,    0, 1339,
 1339, 1339, 1339,    0, 1339,    0, 1339,    0, 1339, 1339,
 1339, 1339, 1339,    0,    0, 1339, 1339, 1339,    0, 1339,
 1339,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1339, 1339, 1339,    0, 1339, 1339, 1339,    0,    0,    0,
 1339,    0,    0, 1339,    0, 1339, 1339, 1339, 1339,    0,
 1339,    0, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1339,
 1339,    0, 1339, 1339, 1339,    0,    0,    0,    0, 1339,
 1339, 1339, 1339, 1339,    0, 1339,    0,    0, 1339, 1339,
 1339, 1339, 1339, 1339, 1339,    0,    0,    0, 1339, 1339,
 1339, 1339, 1339, 1339, 1339, 1339,    0, 1339,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1339, 1339, 1339,
 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,    0, 1339,
 1339, 1339, 1339, 1339, 1339,    0, 1339, 1339, 1339, 1339,
    0, 1339,    0, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
 1339, 1344, 1339, 1339, 1339, 1339,    0, 1339, 1339, 1339,
 1339, 1339,    0, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,    0, 1339,
 1339, 1339, 1339, 1339, 1339, 1339,    0,    0,    0,    0,
    0,    0, 1344, 1344, 1344, 1344, 1344, 1344, 1344,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1344, 1344, 1344, 1344,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1344,    0, 1344,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1344,    0,
 1344,    0,    0, 1344,    0, 1344, 1344,    0,    0, 1344,
 1344,    0, 1344,    0,    0,    0,    0,    0, 1344,    0,
    0, 1344, 1344, 1344, 1344,    0, 1344,    0,    0, 1344,
    0,    0, 1344,    0,    0,    0,    0,    0,    0, 1344,
    0, 1344, 1344,    0, 1344, 1344, 1344,    0, 1344, 1344,
    0,    0, 1344,    0,    0, 1344,    0, 1344, 1344,    0,
    0, 1344, 1344, 1344,    0, 1344,    0, 1344, 1344, 1344,
 1344, 1344, 1344,    0,    0,    0, 1344, 1344, 1344, 1344,
 1344,    0,    0,    0, 1344,    0,    0,    0,    0,    0,
    0,    0, 1344,    0, 1344, 1344, 1344, 1344,    0, 1344,
    0,    0,    0,    0, 1344, 1344,    0, 1344,    0, 1344,
    0, 1344, 1344, 1344,    0, 1344,    0, 1344, 1344, 1344,
    0, 1344, 1344, 1344, 1344, 1344,    0, 1344, 1344,    0,
    0,    0,    0, 1344,    0, 1344, 1344,    0,    0, 1344,
 1344, 1344,    0,    0, 1344,    0,    0, 1344,    0,    0,
 1344, 1344, 1344, 1344,    0, 1344,    0, 1344,    0, 1344,
 1344, 1344, 1344, 1344,    0,    0, 1344, 1344, 1344,    0,
 1344, 1344,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1344, 1344, 1344,    0, 1344, 1344, 1344,    0,    0,
    0, 1344,    0,    0, 1344,    0, 1344, 1344, 1344, 1344,
    0, 1344,    0, 1344, 1344, 1344, 1344, 1344, 1344, 1344,
 1344,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1344, 1344,    0, 1344, 1344, 1344,    0,    0,    0,    0,
 1344, 1344, 1344, 1344, 1344,    0, 1344,    0,    0, 1344,
 1344, 1344, 1344, 1344, 1344, 1344,    0,    0,    0, 1344,
 1344, 1344, 1344, 1344, 1344, 1344, 1344,    0, 1344,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1344, 1344,
 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344,
 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344,    0,
 1344, 1344, 1344, 1344, 1344, 1344,    0, 1344, 1344, 1344,
 1344,    0, 1344,    0, 1344, 1344, 1344, 1344, 1344, 1344,
 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344,
 1344, 1344, 1373, 1344, 1344, 1344, 1344,    0, 1344, 1344,
 1344, 1344, 1344,    0, 1344, 1344, 1344, 1344, 1344, 1344,
 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344,    0,
 1344, 1344, 1344, 1344, 1344, 1344, 1344,    0,    0,    0,
    0,    0,    0, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1373, 1373, 1373, 1373,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1373,    0, 1373,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1373,
    0, 1373,    0,    0, 1373,    0, 1373, 1373,    0,    0,
 1373, 1373,    0, 1373,    0,    0,    0,    0,    0, 1373,
    0,    0, 1373, 1373, 1373, 1373,    0, 1373,    0,    0,
 1373,    0,    0, 1373,    0,    0,    0,    0,    0,    0,
 1373,    0, 1373, 1373,    0, 1373, 1373, 1373,    0, 1373,
 1373,    0,    0, 1373,    0,    0, 1373,    0, 1373, 1373,
    0,    0, 1373, 1373, 1373,    0, 1373,    0, 1373, 1373,
 1373, 1373, 1373, 1373,    0,    0,    0, 1373, 1373, 1373,
 1373, 1373,    0,    0,    0, 1373,    0,    0,    0,    0,
    0,    0,    0, 1373,    0, 1373, 1373, 1373, 1373,    0,
 1373,    0,    0,    0,    0, 1373, 1373,    0, 1373,    0,
 1373,    0, 1373, 1373, 1373,    0, 1373,    0, 1373, 1373,
 1373,    0, 1373, 1373, 1373, 1373, 1373,    0, 1373, 1373,
    0,    0,    0,    0, 1373,    0, 1373, 1373,    0,    0,
 1373, 1373, 1373,    0,    0, 1373,    0,    0, 1373,    0,
    0, 1373, 1373, 1373, 1373,    0, 1373,    0, 1373,    0,
 1373, 1373, 1373, 1373, 1373,    0,    0, 1373, 1373, 1373,
    0, 1373, 1373,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1373, 1373, 1373,    0, 1373, 1373, 1373,    0,
    0,    0, 1373,    0,    0, 1373,    0, 1373, 1373, 1373,
 1373,    0, 1373,    0, 1373, 1373, 1373, 1373, 1373, 1373,
 1373, 1373,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1373, 1373,    0, 1373, 1373, 1373,    0,    0,    0,
    0, 1373, 1373, 1373, 1373, 1373,    0, 1373,    0,    0,
 1373, 1373, 1373, 1373, 1373, 1373, 1373,    0,    0,    0,
 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,    0, 1373,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1373,
 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
    0, 1373, 1373, 1373, 1373, 1373, 1373,    0, 1373, 1373,
 1373, 1373,    0, 1373,    0, 1373, 1373, 1373, 1373, 1373,
 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
 1373, 1373, 1373, 1379, 1373, 1373, 1373, 1373,    0, 1373,
 1373, 1373, 1373, 1373,    0, 1373, 1373, 1373, 1373, 1373,
 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
    0, 1373, 1373, 1373, 1373, 1373, 1373, 1373,    0,    0,
    0,    0,    0,    0, 1379, 1379, 1379, 1379, 1379, 1379,
 1379,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1379, 1379, 1379, 1379,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1379,    0, 1379,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1379,    0, 1379,    0,    0, 1379,    0, 1379, 1379,    0,
    0, 1379, 1379,    0, 1379,    0,    0,    0,    0,    0,
 1379,    0,    0, 1379, 1379, 1379, 1379,    0, 1379,    0,
    0, 1379,    0,    0, 1379,    0,    0,    0,    0,    0,
    0, 1379,    0, 1379, 1379,    0, 1379, 1379, 1379,    0,
 1379, 1379,    0,    0, 1379,    0,    0, 1379,    0, 1379,
 1379,    0,    0, 1379, 1379, 1379,    0, 1379,    0, 1379,
 1379, 1379, 1379, 1379, 1379,    0,    0,    0, 1379, 1379,
 1379, 1379, 1379,    0,    0,    0, 1379,    0,    0,    0,
    0,    0,    0,    0, 1379,    0, 1379, 1379, 1379, 1379,
    0, 1379,    0,    0,    0,    0, 1379, 1379,    0, 1379,
    0, 1379,    0, 1379, 1379, 1379,    0, 1379,    0, 1379,
 1379, 1379,    0, 1379, 1379, 1379, 1379, 1379,    0, 1379,
 1379,    0,    0,    0,    0, 1379,    0, 1379, 1379,    0,
    0, 1379, 1379, 1379,    0,    0, 1379,    0,    0, 1379,
    0,    0, 1379, 1379, 1379, 1379,    0, 1379,    0, 1379,
    0, 1379, 1379, 1379, 1379, 1379,    0,    0, 1379, 1379,
 1379,    0, 1379, 1379,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1379, 1379, 1379,    0, 1379, 1379, 1379,
    0,    0,    0, 1379,    0,    0, 1379,    0, 1379, 1379,
 1379, 1379,    0, 1379,    0, 1379, 1379, 1379, 1379, 1379,
 1379, 1379, 1379,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1379, 1379,    0, 1379, 1379, 1379,    0,    0,
    0,    0, 1379, 1379, 1379, 1379, 1379,    0, 1379,    0,
    0, 1379, 1379, 1379, 1379, 1379, 1379, 1379,    0,    0,
    0, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379,    0,
 1379,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
 1379,    0, 1379, 1379, 1379, 1379, 1379, 1379,    0, 1379,
 1379, 1379, 1379,    0, 1379,    0, 1379, 1379, 1379, 1379,
 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
 1379, 1379, 1379, 1379, 1292, 1379, 1379, 1379, 1379,    0,
 1379, 1379, 1379, 1379, 1379,    0, 1379, 1379, 1379, 1379,
 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
 1379,    0, 1379, 1379, 1379, 1379, 1379, 1379, 1379,    0,
    0,    0,    0,    0,    0, 1292, 1292, 1292, 1292, 1292,
 1306, 1292,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1292, 1292, 1292, 1292,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1292,    0, 1292,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1292,    0, 1292,    0,    0, 1292,    0, 1292, 1292,
    0,    0, 1292, 1292,    0, 1292,    0,    0,    0,    0,
    0, 1292,    0,    0, 1292, 1292, 1292, 1292,    0, 1292,
    0,    0, 1292,    0,    0, 1292,    0,    0,    0,    0,
    0,    0, 1292,    0, 1292, 1292,    0, 1292, 1292, 1292,
    0, 1292, 1292,    0,    0, 1292,    0,    0, 1292,    0,
 1292, 1292,    0,    0, 1292, 1292, 1292,    0, 1292,    0,
 1292, 1292, 1292, 1292, 1292, 1292,    0,    0,    0, 1292,
 1292, 1292, 1292, 1292,    0,    0,    0, 1292,    0,    0,
    0,    0,    0,    0,    0, 1292,    0, 1292, 1292, 1292,
 1292,    0, 1292,    0,    0,    0,    0, 1292, 1292,    0,
 1292,    0, 1292,    0, 1292, 1292, 1292,    0, 1292,    0,
 1292, 1292, 1292,    0, 1292, 1292, 1292, 1292, 1292,    0,
 1292, 1292,    0,    0,    0,    0, 1292,    0, 1292, 1292,
    0,    0, 1292, 1292, 1292,    0,    0, 1292,    0,    0,
 1292,    0,    0, 1292, 1292, 1292, 1292,    0, 1292,    0,
 1292,    0, 1292, 1292, 1292, 1292, 1292,    0,    0, 1292,
 1292, 1292,    0, 1292, 1292,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1292, 1292, 1292,    0, 1292, 1292,
 1292,    0,    0,    0, 1292,    0,    0, 1292,    0, 1292,
 1292, 1292, 1292,    0, 1292,    0, 1292, 1292, 1292, 1292,
 1292, 1292, 1292, 1292,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1292, 1292,    0, 1292, 1292, 1292,    0,
    0,    0,    0, 1292, 1292, 1292, 1292, 1292,    0, 1292,
    0,    0, 1292, 1292, 1292, 1292, 1292, 1292, 1292,    0,
    0,    0, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
    0, 1292,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
 1292, 1292,    0, 1292, 1292, 1292, 1292, 1292, 1292,    0,
 1292, 1292, 1292, 1292,    0, 1292,    0, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1074, 1292, 1292, 1292, 1292,
    0, 1292, 1292, 1292, 1292, 1292,    0, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
 1292, 1292,    0, 1292, 1292, 1292, 1292, 1292,    0, 1292,
    0,    0,    0,    0,    0,    0, 1074, 1074, 1074, 1074,
 1074,    0, 1074,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1074, 1074, 1074, 1074,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1074,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1074,    0, 1074,    0,    0, 1074,    0, 1074,
 1074,    0,    0, 1074, 1074,    0, 1074,    0,    0,    0,
    0,    0, 1074,    0,    0, 1074, 1074, 1074, 1074,    0,
 1074,    0,    0, 1074,    0,    0, 1074,    0,    0,    0,
    0,    0,    0, 1074,    0, 1074, 1074,    0, 1074, 1074,
 1074,    0, 1074, 1074,    0,    0, 1074,    0,    0, 1074,
    0, 1074, 1074,    0,    0, 1074, 1074, 1074,    0, 1074,
    0, 1074, 1074, 1074, 1074, 1074, 1074,    0,    0,    0,
 1074, 1074, 1074, 1074, 1074,    0,    0,    0, 1074,    0,
    0,    0,    0,    0,    0,    0, 1074,    0, 1074, 1074,
 1074, 1074,    0, 1074,    0,    0,    0,    0, 1074, 1074,
    0, 1074,    0, 1074,    0, 1074, 1074, 1074,    0, 1074,
    0, 1074, 1074, 1074,    0, 1074, 1074, 1074, 1074, 1074,
    0, 1074, 1074,    0,    0,    0,    0, 1074,    0, 1074,
 1074,    0,    0, 1074, 1074, 1074,    0,    0, 1074,    0,
    0, 1074,    0,    0, 1074, 1074, 1074, 1074,    0, 1074,
    0, 1074,    0, 1074, 1074, 1074, 1074, 1074,    0,    0,
 1074, 1074, 1074,    0, 1074, 1074,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1074, 1074, 1074,    0, 1074,
 1074, 1074,    0,    0,    0, 1074,    0,    0, 1074,    0,
 1074, 1074, 1074, 1074,    0, 1074,    0, 1074, 1074, 1074,
 1074, 1074, 1074, 1074, 1074,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1074, 1074,    0, 1074, 1074, 1074,
    0,    0,    0,    0, 1074, 1074, 1074, 1074, 1074,    0,
 1074,    0,    0, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
    0,    0,    0, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
 1074,    0, 1074,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
 1074, 1074, 1074,    0, 1074, 1074, 1074, 1074, 1074, 1074,
    0, 1074, 1074, 1074, 1074,    0, 1074,    0, 1074, 1074,
 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
 1074, 1074, 1074, 1074, 1074, 1074, 1087, 1074, 1074, 1074,
 1074,    0, 1074, 1074, 1074, 1074, 1074,    0, 1074, 1074,
 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
 1074, 1074, 1074,    0, 1074, 1074, 1074, 1074, 1074,    0,
 1074,    0,    0,    0,    0,    0,    0, 1087, 1087, 1087,
 1087, 1087,    0, 1087,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1087, 1087, 1087, 1087,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1087,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1087,    0, 1087,    0,    0, 1087,    0,
 1087, 1087,    0,    0, 1087, 1087,    0, 1087,    0,    0,
    0,    0,    0,    0,    0,    0, 1087, 1087, 1087, 1087,
    0, 1087,    0,    0, 1087,    0,    0, 1087,    0,    0,
    0,    0,    0,    0, 1087,    0, 1087, 1087,    0, 1087,
 1087, 1087,    0, 1087, 1087,    0,    0, 1087,    0,    0,
 1087,    0, 1087, 1087,    0,    0, 1087, 1087, 1087,    0,
 1087,    0, 1087, 1087, 1087, 1087, 1087, 1087,    0,    0,
    0, 1087, 1087, 1087, 1087, 1087,    0,    0,    0, 1087,
    0,    0,    0,    0,    0,    0,    0, 1087,    0, 1087,
 1087, 1087, 1087,    0, 1087,    0,    0,    0,    0, 1087,
 1087,    0, 1087,    0, 1087,    0, 1087, 1087, 1087,    0,
 1087,    0, 1087, 1087, 1087,    0, 1087, 1087, 1087, 1087,
 1087,    0, 1087, 1087,    0,    0,    0,    0, 1087,    0,
 1087, 1087,    0,    0, 1087, 1087, 1087,    0,    0, 1087,
    0,    0, 1087,    0,    0, 1087, 1087, 1087, 1087,    0,
 1087,    0, 1087,    0, 1087, 1087, 1087, 1087, 1087,    0,
    0, 1087, 1087, 1087,    0, 1087, 1087,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1087, 1087, 1087,    0,
 1087, 1087, 1087,    0,    0,    0, 1087,    0,    0, 1087,
    0, 1087, 1087, 1087, 1087,    0, 1087,    0, 1087, 1087,
 1087, 1087, 1087, 1087, 1087, 1087,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1087, 1087,    0, 1087, 1087,
 1087,    0,    0,    0,    0, 1087, 1087, 1087, 1087, 1087,
    0, 1087,    0,    0, 1087, 1087, 1087, 1087, 1087, 1087,
 1087,    0,    0,    0, 1087, 1087, 1087, 1087, 1087, 1087,
 1087, 1087,    0, 1087,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
 1087, 1087, 1087, 1087,    0, 1087, 1087, 1087, 1087, 1087,
 1087,    0, 1087, 1087, 1087, 1087,    0, 1087,    0, 1087,
 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1085, 1087, 1087,
 1087, 1087,    0, 1087, 1087, 1087, 1087, 1087,    0, 1087,
 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
 1087, 1087, 1087, 1087,    0, 1087, 1087, 1087, 1087, 1087,
    0, 1087,    0,    0,    0,    0,    0,    0, 1085, 1085,
 1085, 1085, 1085,    0, 1085,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1085, 1085, 1085, 1085,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1085,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1085,    0, 1085,    0,    0, 1085,
    0, 1085, 1085,    0,    0, 1085, 1085,    0, 1085,    0,
    0,    0,    0,    0,    0,    0,    0, 1085, 1085,    0,
 1085,    0, 1085,    0,    0, 1085,    0,    0, 1085,    0,
    0,    0,    0,    0,    0, 1085,    0, 1085, 1085,    0,
 1085, 1085, 1085,    0, 1085, 1085,    0,    0, 1085,    0,
    0, 1085,    0, 1085, 1085,    0,    0, 1085, 1085, 1085,
    0, 1085,    0, 1085, 1085, 1085, 1085, 1085, 1085,    0,
    0,    0, 1085, 1085, 1085, 1085, 1085,    0,    0,    0,
 1085,    0,    0,    0,    0,    0,    0,    0, 1085,    0,
 1085, 1085, 1085, 1085,    0, 1085,    0,    0,    0,    0,
 1085, 1085,    0, 1085,    0, 1085,    0, 1085, 1085, 1085,
    0, 1085,    0, 1085, 1085, 1085,    0, 1085, 1085, 1085,
 1085, 1085,    0, 1085, 1085,    0,    0,    0,    0, 1085,
    0, 1085, 1085,    0,    0, 1085, 1085, 1085,    0,    0,
 1085,    0,    0, 1085,    0,    0, 1085, 1085, 1085, 1085,
    0, 1085,    0, 1085,    0, 1085, 1085, 1085, 1085, 1085,
    0,    0, 1085, 1085, 1085,    0, 1085, 1085,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1085, 1085, 1085,
    0, 1085, 1085, 1085,    0,    0,    0, 1085,    0,    0,
 1085,    0, 1085, 1085, 1085, 1085,    0, 1085,    0, 1085,
 1085, 1085, 1085, 1085, 1085, 1085, 1085,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1085, 1085,    0, 1085,
 1085, 1085,    0,    0,    0,    0, 1085, 1085, 1085, 1085,
 1085,    0, 1085,    0,    0, 1085, 1085, 1085, 1085, 1085,
 1085, 1085,    0,    0,    0, 1085, 1085, 1085, 1085, 1085,
 1085, 1085, 1085,    0, 1085,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1085, 1085, 1085, 1085, 1085, 1085,
 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
 1085, 1085, 1085, 1085, 1085,    0, 1085, 1085, 1085, 1085,
 1085, 1085,    0, 1085, 1085, 1085, 1085,    0, 1085,    0,
 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1084, 1085,
 1085, 1085, 1085,    0, 1085, 1085, 1085, 1085, 1085,    0,
 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
 1085, 1085, 1085, 1085, 1085,    0, 1085, 1085, 1085, 1085,
 1085,    0, 1085,    0,    0,    0,    0,    0,    0, 1084,
 1084, 1084, 1084, 1084,    0, 1084,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1084, 1084, 1084,
 1084,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1084,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1084,    0, 1084,    0,    0,
 1084,    0, 1084, 1084,    0,    0, 1084, 1084,    0, 1084,
    0,    0,    0,    0,    0,    0,    0,    0, 1084, 1084,
    0, 1084,    0, 1084,    0,    0, 1084,    0,    0, 1084,
    0,    0,    0,    0,    0,    0, 1084,    0, 1084, 1084,
    0, 1084, 1084, 1084,    0, 1084, 1084,    0,    0, 1084,
    0,    0, 1084,    0, 1084, 1084,    0,    0, 1084, 1084,
 1084,    0, 1084,    0, 1084, 1084, 1084, 1084, 1084, 1084,
    0,    0,    0, 1084, 1084, 1084, 1084, 1084,    0,    0,
    0, 1084,    0,    0,    0,    0,    0,    0,    0, 1084,
    0, 1084, 1084, 1084, 1084,    0, 1084,    0,    0,    0,
    0, 1084, 1084,    0, 1084,    0, 1084,    0, 1084, 1084,
 1084,    0, 1084,    0, 1084, 1084, 1084,    0, 1084, 1084,
 1084, 1084, 1084,    0, 1084, 1084,    0,    0,    0,    0,
 1084,    0, 1084, 1084,    0,    0, 1084, 1084, 1084,    0,
    0, 1084,    0,    0, 1084,    0,    0, 1084, 1084, 1084,
 1084,    0, 1084,    0, 1084,    0, 1084, 1084, 1084, 1084,
 1084,    0,    0, 1084, 1084, 1084,    0, 1084, 1084,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1084, 1084,
 1084,    0, 1084, 1084, 1084,    0,    0,    0, 1084,    0,
    0, 1084,    0, 1084, 1084, 1084, 1084,    0, 1084,    0,
 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1084, 1084,    0,
 1084, 1084, 1084,    0,    0,    0,    0, 1084, 1084, 1084,
 1084, 1084,    0, 1084,    0,    0, 1084, 1084, 1084, 1084,
 1084, 1084, 1084,    0,    0,    0, 1084, 1084, 1084, 1084,
 1084, 1084, 1084, 1084,    0, 1084,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1084, 1084, 1084, 1084, 1084,
 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
 1084, 1084, 1084, 1084, 1084, 1084,    0, 1084, 1084, 1084,
 1084, 1084, 1084,    0, 1084, 1084, 1084, 1084,    0, 1084,
    0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1090,
 1084, 1084, 1084, 1084,    0, 1084, 1084, 1084, 1084, 1084,
    0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
 1084, 1084, 1084, 1084, 1084, 1084,    0, 1084, 1084, 1084,
 1084, 1084,    0, 1084,    0,    0,    0,    0,    0,    0,
 1090, 1090, 1090, 1090, 1090,    0, 1090,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1090, 1090,
 1090, 1090,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1090,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1090,    0, 1090,    0,
    0, 1090,    0, 1090, 1090,    0,    0, 1090, 1090,    0,
 1090,    0,    0,    0,    0,    0,    0,    0,    0, 1090,
 1090,    0, 1090,    0, 1090,    0,    0, 1090,    0,    0,
 1090,    0,    0,    0,    0,    0,    0, 1090,    0, 1090,
 1090,    0, 1090, 1090, 1090,    0, 1090, 1090,    0,    0,
 1090,    0,    0, 1090,    0, 1090, 1090,    0,    0, 1090,
 1090, 1090,    0, 1090,    0, 1090, 1090, 1090, 1090, 1090,
 1090,    0,    0,    0, 1090, 1090, 1090, 1090, 1090,    0,
    0,    0, 1090,    0,    0,    0,    0,    0,    0,    0,
 1090,    0, 1090, 1090, 1090, 1090,    0, 1090,    0,    0,
    0,    0, 1090, 1090,    0, 1090,    0, 1090,    0, 1090,
 1090, 1090,    0, 1090,    0, 1090, 1090, 1090,    0, 1090,
 1090, 1090, 1090, 1090,    0, 1090, 1090,    0,    0,    0,
    0, 1090,    0, 1090, 1090,    0,    0, 1090, 1090, 1090,
    0,    0, 1090,    0,    0, 1090,    0,    0, 1090, 1090,
 1090, 1090,    0, 1090,    0, 1090,    0, 1090, 1090, 1090,
 1090, 1090,    0,    0, 1090, 1090, 1090,    0, 1090, 1090,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1090,
 1090, 1090,    0, 1090, 1090, 1090,    0,    0,    0, 1090,
    0,    0, 1090,    0, 1090, 1090, 1090, 1090,    0, 1090,
    0, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1090, 1090,
    0, 1090, 1090, 1090,    0,    0,    0,    0, 1090, 1090,
 1090, 1090, 1090,    0, 1090,    0,    0, 1090, 1090, 1090,
 1090, 1090, 1090, 1090,    0,    0,    0, 1090, 1090, 1090,
 1090, 1090, 1090, 1090, 1090,    0, 1090,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1090, 1090, 1090, 1090,
 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
 1090, 1090, 1090, 1090, 1090, 1090, 1090,    0, 1090, 1090,
 1090, 1090, 1090, 1090,    0, 1090, 1090, 1090, 1090,    0,
 1090,    0, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
 1091, 1090, 1090, 1090, 1090,    0, 1090, 1090, 1090, 1090,
 1090,    0, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
 1090, 1090, 1090, 1090, 1090, 1090, 1090,    0, 1090, 1090,
 1090, 1090, 1090,    0, 1090,    0,    0,    0,    0,    0,
    0, 1091, 1091, 1091, 1091, 1091,    0, 1091,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1091,
 1091, 1091, 1091,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1091,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1091,    0, 1091,
    0,    0, 1091,    0, 1091, 1091,    0,    0, 1091, 1091,
    0, 1091,    0,    0,    0,    0,    0,    0,    0,    0,
 1091, 1091,    0, 1091,    0, 1091,    0,    0, 1091,    0,
    0, 1091,    0,    0,    0,    0,    0,    0, 1091,    0,
 1091, 1091,    0, 1091, 1091, 1091,    0, 1091, 1091,    0,
    0, 1091,    0,    0, 1091,    0, 1091, 1091,    0,    0,
 1091, 1091, 1091,    0, 1091,    0, 1091, 1091, 1091, 1091,
 1091, 1091,    0,    0,    0, 1091, 1091, 1091, 1091, 1091,
    0,    0,    0, 1091,    0,    0,    0,    0,    0,    0,
    0, 1091,    0, 1091, 1091, 1091, 1091,    0, 1091,    0,
    0,    0,    0, 1091, 1091,    0, 1091,    0, 1091,    0,
 1091, 1091, 1091,    0, 1091,    0, 1091, 1091, 1091,    0,
 1091, 1091, 1091, 1091, 1091,    0, 1091, 1091,    0,    0,
    0,    0, 1091,    0, 1091, 1091,    0,    0, 1091, 1091,
 1091,    0,    0, 1091,    0,    0, 1091,    0,    0, 1091,
 1091, 1091, 1091,    0, 1091,    0, 1091,    0, 1091, 1091,
 1091, 1091, 1091,    0,    0, 1091, 1091, 1091,    0, 1091,
 1091,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1091, 1091, 1091,    0, 1091, 1091, 1091,    0,    0,    0,
 1091,    0,    0, 1091,    0, 1091, 1091, 1091, 1091,    0,
 1091,    0, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1091,
 1091,    0, 1091, 1091, 1091,    0,    0,    0,    0, 1091,
 1091, 1091, 1091, 1091,    0, 1091,    0,    0, 1091, 1091,
 1091, 1091, 1091, 1091, 1091,    0,    0,    0, 1091, 1091,
 1091, 1091, 1091, 1091, 1091, 1091,    0, 1091,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1091, 1091, 1091,
 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,    0, 1091,
 1091, 1091, 1091, 1091, 1091,    0, 1091, 1091, 1091, 1091,
    0, 1091,    0, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
 1091, 1086, 1091, 1091, 1091, 1091,    0, 1091, 1091, 1091,
 1091, 1091,    0, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,    0, 1091,
 1091, 1091, 1091, 1091,    0, 1091,    0,    0,    0,    0,
    0,    0, 1086,    0, 1086, 1086, 1086,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1086, 1086, 1086, 1086,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1086,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1086,    0,
 1086,    0,    0, 1086,    0, 1086, 1086,    0,    0, 1086,
 1086,    0, 1086,    0,    0,    0,    0,    0,    0,    0,
    0, 1086, 1086,    0, 1086,    0, 1086,    0,    0, 1086,
    0,    0, 1086,    0,    0,    0,    0,    0,    0, 1086,
    0, 1086, 1086,    0, 1086, 1086, 1086,    0, 1086, 1086,
    0,    0, 1086,    0,    0, 1086,    0, 1086, 1086,    0,
    0, 1086, 1086, 1086,    0, 1086,    0, 1086, 1086, 1086,
 1086, 1086, 1086,    0,    0,    0, 1086, 1086, 1086, 1086,
 1086,    0,    0,    0, 1086,    0,    0,    0,    0,    0,
    0,    0, 1086,    0, 1086, 1086, 1086, 1086,    0, 1086,
    0,    0,    0,    0, 1086, 1086,    0, 1086,    0, 1086,
    0, 1086, 1086, 1086,    0, 1086,    0, 1086, 1086, 1086,
    0, 1086, 1086, 1086, 1086, 1086,    0, 1086, 1086,    0,
    0,    0,    0, 1086,    0, 1086, 1086,    0,    0, 1086,
 1086, 1086,    0,    0, 1086,    0,    0, 1086,    0,    0,
 1086, 1086, 1086, 1086,    0, 1086,    0, 1086,    0, 1086,
 1086, 1086, 1086, 1086,    0,    0, 1086, 1086, 1086,    0,
 1086, 1086,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1086, 1086, 1086,    0, 1086, 1086, 1086,    0,    0,
    0, 1086,    0,    0, 1086,    0, 1086, 1086, 1086, 1086,
    0, 1086,    0, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
 1086,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1086, 1086,    0, 1086, 1086, 1086,    0,    0,    0,    0,
 1086, 1086, 1086, 1086, 1086,    0, 1086,    0,    0, 1086,
 1086, 1086, 1086, 1086, 1086, 1086,    0,    0,    0, 1086,
 1086, 1086, 1086, 1086, 1086, 1086, 1086,    0, 1086,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1086, 1086,
 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,    0,
 1086, 1086, 1086, 1086, 1086, 1086,    0, 1086, 1086, 1086,
 1086,    0, 1086,    0, 1086, 1086, 1086, 1086, 1086, 1086,
 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
 1086, 1086, 1089, 1086, 1086, 1086, 1086,    0, 1086, 1086,
 1086, 1086, 1086,    0, 1086, 1086, 1086, 1086, 1086, 1086,
 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,    0,
 1086, 1086, 1086, 1086, 1086,    0, 1086,    0,    0,    0,
    0,    0,    0, 1089,    0, 1089, 1089, 1089,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1089, 1089, 1089, 1089,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1089,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1089,
    0, 1089,    0,    0, 1089,    0, 1089, 1089,    0,    0,
 1089, 1089,    0, 1089,    0,    0,    0,    0,    0,    0,
    0,    0, 1089, 1089,    0, 1089,    0, 1089,    0,    0,
 1089,    0,    0, 1089,    0,    0,    0,    0,    0,    0,
 1089,    0, 1089, 1089,    0, 1089, 1089, 1089,    0, 1089,
 1089,    0,    0, 1089,    0,    0, 1089,    0, 1089, 1089,
    0,    0, 1089, 1089, 1089,    0, 1089,    0, 1089, 1089,
 1089, 1089, 1089, 1089,    0,    0,    0, 1089, 1089, 1089,
 1089, 1089,    0,    0,    0, 1089,    0,    0,    0,    0,
    0,    0,    0, 1089,    0, 1089, 1089, 1089, 1089,    0,
 1089,    0,    0,    0,    0, 1089, 1089,    0, 1089,    0,
 1089,    0, 1089, 1089, 1089,    0, 1089,    0, 1089, 1089,
 1089,    0, 1089, 1089, 1089, 1089, 1089,    0, 1089, 1089,
    0,    0,  864,    0, 1089,    0, 1089, 1089,    0,    0,
 1089, 1089, 1089,    0,    0, 1089,    0,    0, 1089,    0,
    0, 1089, 1089, 1089, 1089,    0, 1089,    0, 1089,    0,
 1089, 1089, 1089, 1089, 1089,    0,    0, 1089, 1089, 1089,
    0, 1089, 1089,  864,    0,    0,  864,    0,    0,    0,
    0,    0, 1089, 1089, 1089,    0, 1089, 1089, 1089,    0,
    0,  864, 1089,    0,    0, 1089,    0, 1089, 1089, 1089,
 1089,    0, 1089,    0, 1089, 1089, 1089, 1089, 1089, 1089,
 1089, 1089,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1089, 1089,    0, 1089, 1089, 1089,    0,    0,    0,
    0, 1089, 1089, 1089, 1089, 1089,    0, 1089,    0,    0,
 1089, 1089, 1089, 1089, 1089, 1089, 1089,    0,    0,    0,
 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,    0, 1089,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1089,
 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
    0, 1089, 1089, 1089, 1089, 1089, 1089,    0, 1089, 1089,
 1089, 1089,    0, 1089,    0, 1089, 1089, 1089, 1089, 1089,
 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
 1089, 1089, 1089,    0, 1089, 1089, 1089, 1089,    0, 1089,
 1089, 1089, 1089, 1089,    0, 1089, 1089, 1089, 1089, 1089,
 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
    0, 1089, 1089, 1089, 1089, 1089,    0, 1089,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  864,
    0,  864,    0,    0,    0,    0,  864,  864,    0,    0,
  864,  864,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  864,  864,    0,  864,    0,  864,    0,    0,
  864,    0,    0,  864,    0,    0,    0,    0,    0,    0,
  864,    0,  864,  864,    0,    0,    0,  864,    0,    0,
  864,    0,    0,  864,    0,    0,  864,    0,    0,  864,
    0,    0,    0,  864,  864,    0,  864,    0,  864,  864,
    0,  864,  864,  864,    0,    0,    0,  864,    0,  864,
  864,  864,    0,    0,    0,  864,    0,    0,    0,    0,
    0,  835,    0,  864,    0,  864,    0,  864,    0,    0,
  864,    0,    0,    0,    0,  864,  864,    0,  864,    0,
    0,    0,    0,    0,    0,    0,  864,    0,  864,    0,
  864,    0,  864,  864,  864,  864,  864,    0,  864,  864,
    0,  835,  835,    0,  864,  835,  864,  864,    0,    0,
  864,  864,    0,    0,    0,  864,    0,    0,  864,    0,
  835,  864,  864,  864,  864,    0,  864,    0,  864,    0,
  864,  864,  864,  864,  864,    0,    0,    0,    0,  864,
    0,  864,  864,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  864,    0,  864,    0,  864,  864,  864,    0,
    0,    0,  864,    0,    0,  864,    0,  864,  864,  864,
  864,    0,  864,    0,    0,    0,    0,    0,    0,    0,
  864,  864,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  864,  864,    0,  864,  864,  864,    0,    0,    0,
    0,  864,  864,  864,  864,  864,    0,  864,    0,    0,
  864,  864,  864,  864,  864,  864,  864,    0,    0,    0,
  864,  864,  864,  864,  864,  864,  864,  864,    0,  864,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  864,
  864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
  864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
    0,  864,  864,  864,  864,  864,  864,    0,  864,  864,
  864,  864,    0,  864,    0,  864,  864,  864,  864,  864,
  864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
  864,  864,  864,    0,  864,  864,  864,  864,    0,  864,
  864,  864,  864,  864,    0,  864,  864,  864,  864,  864,
  864,  864,  864,  864,  864,  864,  864,  864,  835,  864,
  835,  864,  864,  864,  864,  864,  835,  864,    0,  835,
  835,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  835,  835,    0,  835,    0,  835,    0,    0,  835,
    0,    0,  835,    0,    0,    0,    0,    0,    0,  835,
    0,  835,  835,    0,    0,    0,  835,    0,    0,  835,
    0,    0,  835,    0,    0,  835,    0,    0,  835,    0,
    0,    0,  835,  835,    0,  835,    0,  835,  835,    0,
  835,  835,  835,    0,    0,    0,  835,    0,  835,  835,
  835,    0,    0,    0,  835,    0,    0,    0,    0,    0,
  862,    0,  835,    0,  835,    0,  835,    0,    0,  835,
    0,    0,    0,    0,  835,  835,    0,  835,    0,    0,
    0,    0,    0,    0,    0,  835,    0,  835,    0,  835,
    0,  835,  835,  835,  835,  835,    0,  835,  835,    0,
    0,  862,    0,  835,  862,  835,  835,    0,    0,  835,
  835,    0,    0,    0,  835,    0,    0,  835,    0,  862,
  835,  835,  835,  835,    0,  835,    0,  835,    0,  835,
  835,  835,  835,  835,    0,    0,    0,    0,  835,    0,
  835,  835,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  835,    0,  835,    0,  835,  835,  835,    0,    0,
    0,  835,    0,    0,  835,    0,  835,  835,  835,  835,
    0,  835,    0,    0,    0,    0,    0,    0,    0,  835,
  835,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  835,  835,    0,  835,  835,  835,    0,    0,    0,    0,
  835,  835,  835,  835,  835,    0,  835,    0,    0,  835,
  835,  835,  835,  835,  835,  835,    0,    0,    0,  835,
  835,  835,  835,  835,  835,  835,  835,    0,  835,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,    0,
  835,  835,  835,  835,  835,  835,    0,  835,  835,  835,
  835,    0,  835,    0,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,    0,  835,  835,  835,  835,    0,  835,  835,
  835,  835,  835,    0,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,    0,  835,  835,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  835,  835,    0,  835,    0,  835,    0,    0,  835,    0,
    0,  835,    0,    0,    0,    0,    0,    0,  835,    0,
  835,  835,    0,    0,    0,  835,    0,    0,  835,    0,
    0,  835,    0,    0,  862,    0,    0,  862,    0,    0,
    0,  835,  835,    0,  862,    0,  862,  835,    0,  835,
  862,  835,    0,    0,    0,  862,    0,  835,  862,  835,
    0,    0,    0,  835,    0,    0,    0,    0,    0,  867,
    0,  835,    0,  862,    0,  835,    0,    0,  835,    0,
    0,    0,    0,  835,  835,    0,  862,    0,    0,    0,
    0,    0,    0,    0,  862,    0,  835,    0,  862,    0,
  835,  835,  835,  835,  835,    0,  835,  862,    0,    0,
    0,    0,  835,    0,  835,  835,    0,    0,  835,  835,
    0,    0,    0,  862,    0,    0,  835,    0,  867,  835,
  835,  835,  835,    0,  835,    0,  835,    0,  835,  835,
  835,  835,  835,    0,    0,    0,    0,  835,    0,  835,
  862,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  835,    0,  862,    0,  862,  835,  835,    0,    0,    0,
  835,    0,    0,  835,    0,  835,  835,  835,  835,    0,
  835,    0,    0,    0,    0,    0,    0,    0,  835,  835,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  835,
  835,    0,  835,  835,  835,    0,    0,    0,    0,  835,
  835,  862,  835,  835,    0,  835,    0,    0,  835,  835,
  835,  835,  835,  835,  835,    0,    0,    0,  862,  835,
  835,  835,  862,  835,  835,  835,    0,  835,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,    0,  835,
  835,  835,  835,  835,  835,    0,  835,  835,  835,  835,
    0,  835,    0,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,    0,  835,  835,  835,  835,    0,  835,  835,  835,
  835,  835,    0,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,    0,  835,  835,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  835,
  835,    0,  835,    0,  835,    0,    0,  835,    0,    0,
  835,    0,    0,    0,    0,    0,    0,  835,    0,  835,
  835,    0,    0,    0,  835,    0,    0,  835,    0,    0,
  835,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  835,  835,    0,    0,    0,    0,  835,    0,  835, 1034,
  835,    0,    0,    0,    0,    0,  835,    0,  835,    0,
    0,    0,  835,    0,    0,    0,    0,    0,    0,    0,
  835,    0,    0,    0,  835,  848,    0,  835,    0,    0,
    0,    0,  835,  835,    0,    0,    0,    0,    0,    0,
 1034,    0,    0, 1034,    0,  835,    0,  867,    0,  835,
  835,  835,  835,  835,    0,  835,  867,    0, 1034,    0,
    0,  835,    0,  835,  835,    0,  848,  835,  835,  848,
    0,    0,    0,    0,    0,  835,    0,  867,  835,  835,
  835,  835,    0,  835,  848,  835,    0,  835,  835,  835,
  835,  835,    0,    0,    0,    0,  835,    0,  835,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  835,
    0,  867,    0,    0,  835,  835,    0,    0,    0,  835,
    0,    0,  835,    0,  835,  835,  835,  835,    0,  835,
    0,    0,    0,    0,    0,    0,    0,  835,  835,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  835,  835,
    0,  835,  835,  835,    0,    0,    0,    0,  835,  835,
  867,  835,  835,    0,  835,    0,    0,  835,  835,  835,
  835,  835,  835,  835,    0,    0,    0,  867,  835,  835,
  835,    0,  835,  835,  835,    0,  835,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,    0,  835,  835,
  835,  835,  835,  835,    0,  835,  835,  835,  835,    0,
  835,    0,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
 1050,  835,  835,  835,  835,    0,  835,  835,  835,  835,
  835, 1034,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,    0,  835,    0,  835,  835,
  835,  835,  835,    0,  835,    0,    0,    0,    0,    0,
    0,    0, 1333, 1333, 1050, 1333, 1333, 1333,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1050,
 1333, 1333, 1333, 1034,    0,    0, 1034,    0,    0,    0,
    0,    0,    0, 1034,    0, 1034,    0,    0,    0, 1034,
    0,    0,    0,    0, 1034,    0,    0, 1034,    0,  848,
    0, 1333,  848,    0,    0,    0,    0,    0,    0,  848,
    0,  848, 1034,    0,    0,  848,    0,    0,    0,    0,
  848,    0,    0,  848,    0, 1034,    0,    0,    0,    0,
    0,    0,    0, 1034,    0,    0, 1034, 1034,  848,    0,
    0,    0,    0,    0,    0,    0, 1034,    0,    0,    0,
    0,  848,    0,    0,    0,    0,    0,    0,    0,  848,
    0,    0, 1034,  848,    0,    0,    0,    0,    0,    0,
    0,    0,  848,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1034,    0,    0,    0,  848, 1034,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1034, 1034,    0, 1034,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  848,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  848,    0,  848,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1034,    0, 1085,    0,    0,  762,    0,  763,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1034,    0,    0,
  765, 1034, 1050,    0,    0,  766,  848,    0,    0,    0,
    0, 1333,    0,    0,    0,    0, 1034, 1333,    0,    0,
    0,    0, 1333,  848,    0, 1333,    0,  848,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  848,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, 1050,    0,    0, 1050,    0,    0,
 1333,    0,    0,    0, 1050,    0, 1050,    0, 1333,    0,
 1050,    0,    0,    0,    0, 1050, 1333,    0, 1050,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1050, 1333,    0, 1333,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1050,    0, 1333,    0,
 1333, 1333, 1333,    0, 1050,    0,    0, 1050, 1050,    0,
    0,    0,    0,    0,    0,    0,    0, 1050,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1050,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1333,
    0,    0,    0,    0,    0, 1050,    0,    0,    0,    0,
 1050,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1050, 1050,    0, 1050,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  115,
    0,  116,    0,    0,    0,    0,    0,  118,    0,  665,
  119,  120,    0,    0,    0,    0,  666,    0,    0,    0,
    0,    0,  121,  122,    0,  123,    0,  124,  667,    0,
  125, 1050,    0,  126,  668,  669,    0,    0,    0,    0,
  128,    0,  129,  130,    0,    0,    0,  131, 1050,    0,
  132,    0, 1050,  134,    0,    0,    0,    0,    0,    0,
    0,  670,    0,  135,  671,    0,    0, 1050,    0,  137,
    0,  138,    0,  139,    0,    0,    0,    0,    0,  141,
    0,  142,    0,    0,    0,  143,    0,    0,    0,  672,
    0,  673,  674,  144,    0,  675,    0,  145,    0,    0,
  146,  676,    0,    0,  677,  147,  148,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  149,    0,
    0,    0,  150,  151,  152,  153,  154,    0,  155,    0,
  678,    0,    0,    0,  156,    0,  157,  158,    0,    0,
  160,  161,    0,    0,    0,  679, 1333,    0,  162,    0,
    0,  164,  165,  166,  167,    0,  168,    0,  169,  680,
  170,  171,  172,  173,  174,  681,    0,    0,    0,  175,
    0,  176,    0,    0,    0,  682,    0,    0, 1048,    0,
    0,  762,  178,  763,    0,    0,    0,  179,  180,  683,
  684,  685,  686,  425,  426,  182,  765,  183,  184,  185,
  186,  766,  187,  687, 1394, 1395, 1396, 1397, 1398, 1399,
 1428, 1429,  688,  689,  690,  691,  692,  693,  694,  695,
  696,  190,  697,    0,  192,  193,  194,  698,  699,    0,
  700,  701,  702,    0,  197,  198,  703,  199,    0,    0,
  200,  201,  202,  203,  204,  205,  206,    0,    0,    0,
    0,  207,  704,  209,    0,  705,  211,  212,    0,  213,
    0,  706,  707,  708,    0,  709,  710,    0,  711,  214,
  215,  216,  217,  218,  219,  712,  221,  713,  223,  714,
  715,  716,  717,  718,  719,  720,  721,  722,  723,  724,
    0,  725,  726,  727,  728,  729,  730,    0,  731,  732,
  733,  244,    0,  734,    0,  735,  736,  737,  738,  739,
  251,  252,  740, 1430,  741,  742,  743,  258,  744,  260,
  745,  262,  746,    0,  747,  748,  749,  750,    0,  751,
  752,  753,  271,  754,    0,  755,  756,  275,  757, 1431,
  278,  758,  280,  281,  282,  283,  284,  285,    0,  759,
    0,  287,  288,  289,  290,  291,    0,  760,  761,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  115,    0,  116,    0,    0,
    0,    0,    0,  118,    0,  665,  119,  120,    0,    0,
    0,    0,  666,    0,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,  667,    0,  125, 1041,    0,  126,
  668,  669,    0,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0, 1042,  134,
    0,    0,    0,    0,    0,    0,    0,  670,    0,  135,
  671,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,    0,    0,    0,  141,    0,  142,    0,    0,
    0,  143,    0,    0,    0,  672,    0,  673,  674,  144,
    0,  675,    0,  145,    0,    0,  146,  676,    0,    0,
  677,  147,  148,    0,    0,    0,    0,    0, 1043,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,  678,    0,    0,    0,
  156,    0,  157,  158,    0,    0,  160,  161,    0,    0,
    0,  679,    0,    0,  162,    0,    0,  164,  165, 1044,
  167,    0,  168,    0,  169,  680,  170,  171,  172,  173,
  174,  681,    0,    0,    0,  175,    0,  176,    0,    0,
    0,  682,    0,    0, 1048,    0,    0,  762,  178,  763,
    0,    0,    0,  179,  180,  683,  684,  685,  686,  425,
  426,  182,  765,  183,  184,  185,  186,  766,  187,  687,
    0,    0,    0,    0,    0,    0,  188,  189,  688,  689,
  690,  691,  692,  693,  694,  695,  696,  190,  697,    0,
  192,  193,  194,  698,  699,    0,  700,  701,  702,    0,
  197,  198,  703,  199,    0,    0,  200,  201, 1045, 1046,
 1047,  205,  206,    0,    0,    0,    0,  207,  704,  209,
    0,  705,  211,  212,    0,  213,    0,  706,  707,  708,
    0,  709,  710,    0,  711,  214,  215,  216,  217,  218,
  219,  712,  221,  713,  223,  714,  715,  716,  717,  718,
  719,  720,  721,  722,  723,  724,    0,  725,  726,  727,
  728,  729,  730,    0,  731,  732,  733,  244,    0,  734,
    0,  735,  736,  737,  738,  739,  251,  252,  740,  254,
  741,  742,  743,  258,  744,  260,  745,  262,  746,    0,
  747,  748,  749,  750,    0,  751,  752,  753,  271,  754,
    0,  755,  756,  275,  757,  277,  278,  758,  280,  281,
  282,  283,  284,  285,    0,  759,    0,  287,  288,  289,
  290,  291,    0,  760,  761,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  115,    0,  116,    0,    0,    0,    0,    0,  118,
    0,  665,  119,  120,    0,    0,    0,    0,  666,    0,
    0,    0,    0,    0,  121,  122,    0,  123,    0,  124,
  667,    0,  125,    0,    0,  126,  668,  669,    0,    0,
    0,    0,  128,    0,  129,  130,    0,    0,    0,  131,
    0,    0,  132,    0, 1042,  134,    0,    0,    0,    0,
    0,    0,    0,  670,    0,  135,  671,    0,    0,    0,
    0,  137,    0,  138,    0,  139,    0,    0,    0,    0,
    0,  141,    0,  142,    0,    0,    0,  143,    0,    0,
    0,  672,    0,  673,  674,  144,    0,  675,    0,  145,
    0,    0,  146,  676,    0,    0,  677,  147,  148,    0,
    0,    0,    0,    0, 1043,    0,    0,    0,    0,    0,
  149,    0,    0,    0,  150,  151,  152,  153,  154,    0,
  155,    0,  678,    0,    0,    0,  156,    0,  157,  158,
    0,    0,  160,  161,    0,    0,    0,  679,    0,    0,
  162,    0,    0,  164,  165, 1044,  167,    0,  168,    0,
  169,  680,  170,  171,  172,  173,  174,  681,    0,    0,
    0,  175,    0,  176,    0,    0,    0,  682,    0,    0,
 1085,    0,    0,  762,  178,  763,    0,    0,   16,  179,
  180,  683,  684,  685,  686,  425,  426,  182,  765,  183,
  184,  185,  186,  766,  187,  687,    0,    0,    0,    0,
    0,    0,  188,  189,  688,  689,  690,  691,  692,  693,
  694,  695,  696,  190,  697,    0,  192,  193,  194,  698,
  699,    0,  700,  701,  702,    0,  197,  198,  703,  199,
    0,    0,  200,  201, 1045, 1046, 1047,  205,  206,    0,
    0,    0,    0,  207,  704,  209,    0,  705,  211,  212,
    0,  213,    0,  706,  707,  708,    0,  709,  710,    0,
  711,  214,  215,  216,  217,  218,  219,  712,  221,  713,
  223,  714,  715,  716,  717,  718,  719,  720,  721,  722,
  723,  724,    0,  725,  726,  727,  728,  729,  730,    0,
  731,  732,  733,  244,    0,  734,    0,  735,  736,  737,
  738,  739,  251,  252,  740,  254,  741,  742,  743,  258,
  744,  260,  745,  262,  746,    0,  747,  748,  749,  750,
    0,  751,  752,  753,  271,  754,    0,  755,  756,  275,
  757,  277,  278,  758,  280,  281,  282,  283,  284,  285,
    0,  759,    0,  287,  288,  289,  290,  291,    0,  760,
  761,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  115,    0,  116,
    0,    0,    0,    0,    0,  118,    0,  665,  119,  120,
    0,    0,    0,    0,  666,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,  667,    0,  125,    0,
    0,  126,  668,  669,    0,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132,    0,
    0,  134,    0,    0,    0,    0,    0,    0,    0,  670,
    0,  135,  671,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,  672,    0,  673,
  674,  144,    0,  675,    0,  145,    0,    0,  146,  676,
    0,    0,  677,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,  678,    0,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,  679,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0,  169,  680,  170,  171,
  172,  173,  174,  681,    0,    0,    0,  175,    0,  176,
    0,    0,    0,  682,    0,    0, 1085,    0,    0,  762,
  178,  763,    0,    0,    0,  179,  180,  683,  684,  685,
  686,  425,  426,  182,  765,  183,  184,  185,  186,  766,
  187,  687,    0,    0,    0,    0,    0,    0,  188,  189,
  688,  689,  690,  691,  692,  693,  694,  695,  696,  190,
  697,    0,  192,  193,  194,  698,  699,    0,  700,  701,
  702,    0,  197,  198,  703,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  704,  209,    0,  705,  211,  212, 1423,  213,    0,  706,
  707,  708, 1424,  709,  710, 1425,  711,  214,  215,  216,
  217,  218,  219,  712,  221,  713,  223,  714,  715,  716,
  717,  718,  719,  720,  721,  722,  723,  724,    0,  725,
  726,  727,  728,  729,  730,    0,  731,  732,  733,  244,
    0,  734,    0,  735,  736,  737,  738,  739,  251,  252,
  740,  254,  741,  742,  743,  258,  744,  260,  745,  262,
  746,    0,  747,  748,  749,  750,    0,  751,  752,  753,
  271,  754,    0,  755,  756,  275,  757,  277,  278,  758,
  280,  281,  282,  283,  284,  285,    0,  759,    0,  287,
  288,  289,  290,  291,    0,  760,  761,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  115,    0,  116, 1685,    0,    0, 1686,
    0,  118,    0,  665,  119,  120,    0,    0,    0,    0,
  666,    0,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,  667,    0,  125,    0,    0,  126,  668,  669,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,  670,    0,  135,  671,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,  672,    0,  673,  674,  144,    0,  675,
    0,  145,    0,    0,  146,  676,    0,    0,  677,  147,
  148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,  678,    0,    0,    0,  156,    0,
  157,  158,    0,    0,  160,  161,    0,    0,    0,  679,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168, 1687,  169,  680,  170,  171,  172,  173,  174,  681,
    0,    0,    0,  175,    0,  176,    0,    0,    0,  682,
    0,    0, 1085,    0,    0,  762,  178,  763,    0,    0,
    0,  179,  180,  683,  684,  685,  686,  425,  426,  182,
  765,  183,  184,  185,  186,  766,  187,  687,    0,    0,
    0,    0,    0,    0,  188,  189,  688,  689,  690,  691,
  692,  693,  694,  695,  696,  190,  697,    0,  192,  193,
  194,  698,  699,    0,  700,  701,  702,    0,  197,  198,
  703,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  704,  209,    0,  705,
  211,  212,    0,  213,    0,  706,  707,  708,    0,  709,
  710,    0,  711,  214,  215,  216,  217,  218,  219,  712,
  221,  713,  223,  714,  715,  716,  717,  718,  719,  720,
  721,  722,  723,  724,    0,  725,  726,  727,  728,  729,
  730,    0,  731,  732,  733,  244,    0,  734,    0,  735,
  736,  737,  738,  739,  251,  252,  740,  254,  741,  742,
  743,  258,  744,  260,  745,  262,  746,    0,  747,  748,
  749,  750,    0,  751,  752,  753,  271,  754,    0,  755,
  756,  275,  757,  277,  278,  758,  280,  281,  282,  283,
  284,  285,    0,  759,    0,  287,  288,  289,  290,  291,
    0,  760,  761,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  115,
    0,  116, 1696,    0,    0, 1686,    0,  118,    0,  665,
  119,  120,    0,    0,    0,    0,  666,    0,    0,    0,
    0,    0,  121,  122,    0,  123,    0,  124,  667,    0,
  125,    0,    0,  126,  668,  669,    0,    0,    0,    0,
  128,    0,  129,  130,    0,    0,    0,  131,    0,    0,
  132,    0,    0,  134,    0,    0,    0,    0,    0,    0,
    0,  670,    0,  135,  671,    0,    0,    0,    0,  137,
    0,  138,    0,  139,    0,    0,    0,    0,    0,  141,
    0,  142,    0,    0,    0,  143,    0,    0,    0,  672,
    0,  673,  674,  144,    0,  675,    0,  145,    0,    0,
  146,  676,    0,    0,  677,  147,  148,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  149,    0,
    0,    0,  150,  151,  152,  153,  154,    0,  155,    0,
  678,    0,    0,    0,  156,    0,  157,  158,    0,    0,
  160,  161,    0,    0,    0,  679,    0,    0,  162,    0,
    0,  164,  165,  166,  167,    0,  168, 1687,  169,  680,
  170,  171,  172,  173,  174,  681,    0,    0,    0,  175,
    0,  176,    0,    0,    0,  682,    0,    0, 1085,    0,
    0,  762,  178,  763,    0,    0,    0,  179,  180,  683,
  684,  685,  686,  425,  426,  182,  765,  183,  184,  185,
  186,  766,  187,  687,    0,    0,    0,    0,    0,    0,
  188,  189,  688,  689,  690,  691,  692,  693,  694,  695,
  696,  190,  697,    0,  192,  193,  194,  698,  699,    0,
  700,  701,  702,    0,  197,  198,  703,  199,    0,    0,
  200,  201,  202,  203,  204,  205,  206,    0,    0,    0,
    0,  207,  704,  209,    0,  705,  211,  212,    0,  213,
    0,  706,  707,  708,    0,  709,  710,    0,  711,  214,
  215,  216,  217,  218,  219,  712,  221,  713,  223,  714,
  715,  716,  717,  718,  719,  720,  721,  722,  723,  724,
    0,  725,  726,  727,  728,  729,  730,    0,  731,  732,
  733,  244,    0,  734,    0,  735,  736,  737,  738,  739,
  251,  252,  740,  254,  741,  742,  743,  258,  744,  260,
  745,  262,  746,    0,  747,  748,  749,  750,    0,  751,
  752,  753,  271,  754,    0,  755,  756,  275,  757,  277,
  278,  758,  280,  281,  282,  283,  284,  285,    0,  759,
    0,  287,  288,  289,  290,  291,    0,  760,  761,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  115,    0,  116, 1700,    0,
    0, 1686,    0,  118,    0,  665,  119,  120,    0,    0,
    0,    0,  666,    0,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,  667,    0,  125,    0,    0,  126,
  668,  669,    0,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0,    0,  134,
    0,    0,    0,    0,    0,    0,    0,  670,    0,  135,
  671,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,    0,    0,    0,  141,    0,  142,    0,    0,
    0,  143,    0,    0,    0,  672,    0,  673,  674,  144,
    0,  675,    0,  145,    0,    0,  146,  676,    0,    0,
  677,  147,  148,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,  678,    0,    0,    0,
  156,    0,  157,  158,    0,    0,  160,  161,    0,    0,
    0,  679,    0,    0,  162,    0,    0,  164,  165,  166,
  167,    0,  168, 1687,  169,  680,  170,  171,  172,  173,
  174,  681,    0,    0,    0,  175,    0,  176,    0,    0,
    0,  682,    0,    0, 1085,    0,    0,  762,  178,  763,
    0,    0,    0,  179,  180,  683,  684,  685,  686,  425,
  426,  182,  765,  183,  184,  185,  186,  766,  187,  687,
    0,    0,    0,    0,    0,    0,  188,  189,  688,  689,
  690,  691,  692,  693,  694,  695,  696,  190,  697,    0,
  192,  193,  194,  698,  699,    0,  700,  701,  702,    0,
  197,  198,  703,  199,    0,    0,  200,  201,  202,  203,
  204,  205,  206,    0,    0,    0,    0,  207,  704,  209,
    0,  705,  211,  212,    0,  213,    0,  706,  707,  708,
    0,  709,  710,    0,  711,  214,  215,  216,  217,  218,
  219,  712,  221,  713,  223,  714,  715,  716,  717,  718,
  719,  720,  721,  722,  723,  724,    0,  725,  726,  727,
  728,  729,  730,    0,  731,  732,  733,  244,    0,  734,
    0,  735,  736,  737,  738,  739,  251,  252,  740,  254,
  741,  742,  743,  258,  744,  260,  745,  262,  746,    0,
  747,  748,  749,  750,    0,  751,  752,  753,  271,  754,
    0,  755,  756,  275,  757,  277,  278,  758,  280,  281,
  282,  283,  284,  285,    0,  759,    0,  287,  288,  289,
  290,  291,    0,  760,  761,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  115,    0,  116, 1709,    0,    0, 1686,    0,  118,
    0,  665,  119,  120,    0,    0,    0,    0,  666,    0,
    0,    0,    0,    0,  121,  122,    0,  123,    0,  124,
  667,    0,  125,    0,    0,  126,  668,  669,    0,    0,
    0,    0,  128,    0,  129,  130,    0,    0,    0,  131,
    0,    0,  132,    0,    0,  134,    0,    0,    0,    0,
    0,    0,    0,  670,    0,  135,  671,    0,    0,    0,
    0,  137,    0,  138,    0,  139,    0,    0,    0,    0,
    0,  141,    0,  142,    0,    0,    0,  143,    0,    0,
    0,  672,    0,  673,  674,  144,    0,  675,    0,  145,
    0,    0,  146,  676,    0,    0,  677,  147,  148,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  149,    0,    0,    0,  150,  151,  152,  153,  154,    0,
  155,    0,  678,    0,    0,    0,  156,    0,  157,  158,
    0,    0,  160,  161,    0,    0,    0,  679,    0,    0,
  162,    0,    0,  164,  165,  166,  167,    0,  168, 1687,
  169,  680,  170,  171,  172,  173,  174,  681,    0,    0,
    0,  175,    0,  176,    0,    0,    0,  682,    0,    0,
 1085,    0,    0,  762,  178,  763,    0,    0,    0,  179,
  180,  683,  684,  685,  686,  425,  426,  182,  765,  183,
  184,  185,  186,  766,  187,  687,    0,    0,    0,    0,
    0,    0,  188,  189,  688,  689,  690,  691,  692,  693,
  694,  695,  696,  190,  697,    0,  192,  193,  194,  698,
  699,    0,  700,  701,  702,    0,  197,  198,  703,  199,
    0,    0,  200,  201,  202,  203,  204,  205,  206,    0,
    0,    0,    0,  207,  704,  209,    0,  705,  211,  212,
    0,  213,    0,  706,  707,  708,    0,  709,  710,    0,
  711,  214,  215,  216,  217,  218,  219,  712,  221,  713,
  223,  714,  715,  716,  717,  718,  719,  720,  721,  722,
  723,  724,    0,  725,  726,  727,  728,  729,  730,    0,
  731,  732,  733,  244,    0,  734,    0,  735,  736,  737,
  738,  739,  251,  252,  740,  254,  741,  742,  743,  258,
  744,  260,  745,  262,  746,    0,  747,  748,  749,  750,
    0,  751,  752,  753,  271,  754,    0,  755,  756,  275,
  757,  277,  278,  758,  280,  281,  282,  283,  284,  285,
    0,  759,    0,  287,  288,  289,  290,  291,    0,  760,
  761,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  115,    0,  116,
 1712,    0,    0, 1686,    0,  118,    0,  665,  119,  120,
    0,    0,    0,    0,  666,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,  667,    0,  125,    0,
    0,  126,  668,  669,    0,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132,    0,
    0,  134,    0,    0,    0,    0,    0,    0,    0,  670,
    0,  135,  671,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,  672,    0,  673,
  674,  144,    0,  675,    0,  145,    0,    0,  146,  676,
    0,    0,  677,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,  678,    0,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,  679,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168, 1687,  169,  680,  170,  171,
  172,  173,  174,  681,    0,    0,    0,  175,    0,  176,
    0,    0,    0,  682,    0,    0, 1085,    0,    0,  762,
  178,  763,    0,    0,    0,  179,  180,  683,  684,  685,
  686,  425,  426,  182,  765,  183,  184,  185,  186,  766,
  187,  687,    0,    0,    0,    0,    0,    0,  188,  189,
  688,  689,  690,  691,  692,  693,  694,  695,  696,  190,
  697,    0,  192,  193,  194,  698,  699,    0,  700,  701,
  702,    0,  197,  198,  703,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  704,  209,    0,  705,  211,  212,    0,  213,    0,  706,
  707,  708,    0,  709,  710,    0,  711,  214,  215,  216,
  217,  218,  219,  712,  221,  713,  223,  714,  715,  716,
  717,  718,  719,  720,  721,  722,  723,  724,    0,  725,
  726,  727,  728,  729,  730,    0,  731,  732,  733,  244,
    0,  734,    0,  735,  736,  737,  738,  739,  251,  252,
  740,  254,  741,  742,  743,  258,  744,  260,  745,  262,
  746,    0,  747,  748,  749,  750,    0,  751,  752,  753,
  271,  754,    0,  755,  756,  275,  757,  277,  278,  758,
  280,  281,  282,  283,  284,  285,    0,  759,    0,  287,
  288,  289,  290,  291,    0,  760,  761,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  115,    0,  116, 1718,    0,    0, 1686,
    0,  118,    0,  665,  119,  120,    0,    0,    0,    0,
  666,    0,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,  667,    0,  125,    0,    0,  126,  668,  669,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,  670,    0,  135,  671,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,  672,    0,  673,  674,  144,    0,  675,
    0,  145,    0,    0,  146,  676,    0,    0,  677,  147,
  148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,  678,    0,    0,    0,  156,    0,
  157,  158,    0,    0,  160,  161,    0,    0,    0,  679,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168, 1687,  169,  680,  170,  171,  172,  173,  174,  681,
    0,    0,    0,  175,    0,  176,    0,    0,    0,  682,
    0,    0, 1085,    0,    0,  762,  178,  763,    0,    0,
    0,  179,  180,  683,  684,  685,  686,  425,  426,  182,
  765,  183,  184,  185,  186,  766,  187,  687,    0,    0,
    0,    0,    0,    0,  188,  189,  688,  689,  690,  691,
  692,  693,  694,  695,  696,  190,  697,    0,  192,  193,
  194,  698,  699,    0,  700,  701,  702,    0,  197,  198,
  703,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  704,  209,    0,  705,
  211,  212,    0,  213,    0,  706,  707,  708,    0,  709,
  710,    0,  711,  214,  215,  216,  217,  218,  219,  712,
  221,  713,  223,  714,  715,  716,  717,  718,  719,  720,
  721,  722,  723,  724,    0,  725,  726,  727,  728,  729,
  730,    0,  731,  732,  733,  244,    0,  734,    0,  735,
  736,  737,  738,  739,  251,  252,  740,  254,  741,  742,
  743,  258,  744,  260,  745,  262,  746,    0,  747,  748,
  749,  750,    0,  751,  752,  753,  271,  754,    0,  755,
  756,  275,  757,  277,  278,  758,  280,  281,  282,  283,
  284,  285,    0,  759,    0,  287,  288,  289,  290,  291,
    0,  760,  761,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  115,
    0,  116, 1721,    0,    0, 1686,    0,  118,    0,  665,
  119,  120,    0,    0,    0,    0,  666,    0,    0,    0,
    0,    0,  121,  122,    0,  123,    0,  124,  667,    0,
  125,    0,    0,  126,  668,  669,    0,    0,    0,    0,
  128,    0,  129,  130,    0,    0,    0,  131,    0,    0,
  132,    0,    0,  134,    0,    0,    0,    0,    0,    0,
    0,  670,    0,  135,  671,    0,    0,    0,    0,  137,
    0,  138,    0,  139,    0,    0,    0,    0,    0,  141,
    0,  142,    0,    0,    0,  143,    0,    0,    0,  672,
    0,  673,  674,  144,    0,  675,    0,  145,    0,    0,
  146,  676,    0,    0,  677,  147,  148,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  149,    0,
    0,    0,  150,  151,  152,  153,  154,    0,  155,    0,
  678,    0,    0,    0,  156,    0,  157,  158,    0,    0,
  160,  161,    0,    0,    0,  679,    0,    0,  162,    0,
    0,  164,  165,  166,  167,    0,  168, 1687,  169,  680,
  170,  171,  172,  173,  174,  681,    0,    0,    0,  175,
    0,  176,    0,    0,    0,  682,    0,    0, 1085,    0,
    0,  762,  178,  763,    0,    0,    0,  179,  180,  683,
  684,  685,  686,  425,  426,  182,  765,  183,  184,  185,
  186,  766,  187,  687,    0,    0,    0,    0,    0,    0,
  188,  189,  688,  689,  690,  691,  692,  693,  694,  695,
  696,  190,  697,    0,  192,  193,  194,  698,  699,    0,
  700,  701,  702,    0,  197,  198,  703,  199,    0,    0,
  200,  201,  202,  203,  204,  205,  206,    0,    0,    0,
    0,  207,  704,  209,    0,  705,  211,  212,    0,  213,
    0,  706,  707,  708,    0,  709,  710,    0,  711,  214,
  215,  216,  217,  218,  219,  712,  221,  713,  223,  714,
  715,  716,  717,  718,  719,  720,  721,  722,  723,  724,
    0,  725,  726,  727,  728,  729,  730,    0,  731,  732,
  733,  244,    0,  734,    0,  735,  736,  737,  738,  739,
  251,  252,  740,  254,  741,  742,  743,  258,  744,  260,
  745,  262,  746,    0,  747,  748,  749,  750,    0,  751,
  752,  753,  271,  754,    0,  755,  756,  275,  757,  277,
  278,  758,  280,  281,  282,  283,  284,  285,    0,  759,
    0,  287,  288,  289,  290,  291,    0,  760,  761,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  115,    0,  116, 1724,    0,
    0, 1686,    0,  118,    0,  665,  119,  120,    0,    0,
    0,    0,  666,    0,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,  667,    0,  125,    0,    0,  126,
  668,  669,    0,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0,    0,  134,
    0,    0,    0,    0,    0,    0,    0,  670,    0,  135,
  671,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,    0,    0,    0,  141,    0,  142,    0,    0,
    0,  143,    0,    0,    0,  672,    0,  673,  674,  144,
    0,  675,    0,  145,    0,    0,  146,  676,    0,    0,
  677,  147,  148,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,  678,    0,    0,    0,
  156,    0,  157,  158,    0,    0,  160,  161,    0,    0,
    0,  679,    0,    0,  162,    0,    0,  164,  165,  166,
  167,    0,  168, 1687,  169,  680,  170,  171,  172,  173,
  174,  681,    0,    0,    0,  175,    0,  176,    0,    0,
    0,  682,    0,    0, 1048,    0,    0,  762,  178,  763,
    0,    0,    0,  179,  180,  683,  684,  685,  686,  425,
  426,  182,  765,  183,  184,  185,  186,  766,  187,  687,
    0,    0,    0,    0,    0,    0,  188,  189,  688,  689,
  690,  691,  692,  693,  694,  695,  696,  190,  697,    0,
  192,  193,  194,  698,  699,    0,  700,  701,  702,    0,
  197,  198,  703,  199,    0,    0,  200,  201,  202,  203,
  204,  205,  206,    0,    0,    0,    0,  207,  704,  209,
    0,  705,  211,  212,    0,  213,    0,  706,  707,  708,
    0,  709,  710,    0,  711,  214,  215,  216,  217,  218,
  219,  712,  221,  713,  223,  714,  715,  716,  717,  718,
  719,  720,  721,  722,  723,  724,    0,  725,  726,  727,
  728,  729,  730,    0,  731,  732,  733,  244,    0,  734,
    0,  735,  736,  737,  738,  739,  251,  252,  740,  254,
  741,  742,  743,  258,  744,  260,  745,  262,  746,    0,
  747,  748,  749,  750,    0,  751,  752,  753,  271,  754,
    0,  755,  756,  275,  757,  277,  278,  758,  280,  281,
  282,  283,  284,  285,    0,  759,    0,  287,  288,  289,
  290,  291,    0,  760,  761,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  115,    0,  116,    0,    0,    0,    0,    0,  118,
    0,  665,  119,  120,    0,    0,    0,    0,  666,    0,
    0,    0,    0,    0,  121,  122,    0,  123,    0,  124,
  667,    0,  125,    0,    0,  126,  668,  669,    0,    0,
    0,    0,  128,    0,  129,  130,    0,    0,    0,  131,
    0,    0,  132,    0, 1042,  134,    0,    0,    0,    0,
    0,    0,    0,  670,    0,  135,  671,    0,    0,    0,
    0,  137,    0,  138,    0,  139,    0,    0,    0,    0,
    0,  141,    0,  142,    0,    0,    0,  143,    0,    0,
    0,  672,    0,  673,  674,  144,    0,  675,    0,  145,
    0,    0,  146,  676,    0,    0,  677,  147,  148,    0,
    0,    0,    0,    0, 1043,    0,    0,    0,    0,    0,
  149,    0,    0,    0,  150,  151,  152,  153,  154,    0,
  155,    0,  678,    0,    0,    0,  156,    0,  157,  158,
    0,    0,  160,  161,    0,    0,    0,  679,    0,    0,
  162,    0,    0,  164,  165, 1044,  167,    0,  168,    0,
  169,  680,  170,  171,  172,  173,  174,  681,    0,    0,
    0,  175,    0,  176,    0,    0,    0,  682,    0,    0,
  817,    0,  817,  817,  178,  817,    0,    0,    0,  179,
  180,  683,  684,  685,  686,  425,  426,  182,  817,  183,
  184,  185,  186,  817,  187,  687,    0,    0,    0,    0,
    0,    0,  188,  189,  688,  689,  690,  691,  692,  693,
  694,  695,  696,  190,  697,    0,  192,  193,  194,  698,
  699,    0,  700,  701,  702,    0,  197,  198,  703,  199,
    0,    0,  200,  201, 1045, 1046, 1047,  205,  206,    0,
    0,    0,    0,  207,  704,  209,    0,  705,  211,  212,
    0,  213,    0,  706,  707,  708,    0,  709,  710,    0,
  711,  214,  215,  216,  217,  218,  219,  712,  221,  713,
  223,  714,  715,  716,  717,  718,  719,  720,  721,  722,
  723,  724,    0,  725,  726,  727,  728,  729,  730,    0,
  731,  732,  733,  244,    0,  734,    0,  735,  736,  737,
  738,  739,  251,  252,  740,  254,  741,  742,  743,  258,
  744,  260,  745,  262,  746,    0,  747,  748,  749,  750,
    0,  751,  752,  753,  271,  754,    0,  755,  756,  275,
  757,  277,  278,  758,  280,  281,  282,  283,  284,  285,
    0,  759,    0,  287,  288,  289,  290,  291,    0,  760,
  761,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  817,    0,  817,
  817,    0,    0,    0,    0,  817,    0,  817,  817,  817,
    0,    0,    0,    0,  817,    0,    0,    0,    0,    0,
  817,  817,    0,  817,    0,  817,  817,    0,  817,    0,
    0,  817,  817,  817,    0,    0,    0,    0,  817,  817,
  817,  817,    0,    0,    0,  817,    0,    0,  817,    0,
    0,  817,    0,    0,    0,    0,    0,    0,    0,  817,
    0,  817,  817,    0,    0,    0,    0,  817,    0,  817,
    0,  817,    0,    0,    0,    0,    0,  817,    0,  817,
    0,    0,    0,  817,    0,    0,    0,  817,    0,  817,
  817,  817,    0,  817,    0,  817,    0,    0,  817,  817,
    0,    0,  817,  817,  817,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  817,    0,    0,    0,
  817,  817,  817,  817,  817,    0,  817,    0,  817,    0,
    0,    0,  817,    0,  817,  817,    0,    0,  817,  817,
    0,    0,    0,  817,    0,    0,  817,    0,    0,  817,
  817,  817,  817,    0,  817,    0,  817,  817,  817,  817,
  817,  817,  817,  817,    0,    0,    0,  817,    0,  817,
    0,    0,    0,  817,    0,    0, 1085,    0,    0,  762,
  817,  763,    0,    0,    0,  817,  817,  817,  817,  817,
  817,  817,  817,  817,  765,  817,  817,  817,  817,  766,
  817,  817,    0,    0,    0,    0,    0,    0,  817,  817,
  817,  817,  817,  817,  817,  817,  817,  817,  817,  817,
  817,    0,  817,  817,    0,  817,  817,    0,  817,  817,
  817,    0,  817,  817,  817,  817,    0,    0,  817,  817,
  817,  817,  817,  817,  817,    0,    0,    0,    0,  817,
  817,  817,    0,  817,  817,  817,    0,  817,    0,  817,
  817,  817,    0,  817,  817,    0,  817,  817,  817,  817,
  817,  817,  817,  817,  817,  817,  817,  817,  817,  817,
  817,  817,  817,  817,  817,  817,  817,  817,    0,  817,
  817,  817,  817,  817,  817,    0,  817,  817,  817,  817,
    0,  817,    0,  817,  817,  817,  817,  817,  817,  817,
  817,  817,  817,  817,  817,  817,  817,  817,  817,  817,
  817,    0,  817,  817,  817,  817,    0,  817,  817,  817,
  817,  817,    0,  817,  817,  817,  817,  817,  817,  817,
  817,  817,  817,  817,  817,  817,    0,  817,    0,  817,
  817,  817,  817,  817,    0,  817,  817,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  115,    0,  116,    0,    0,    0,    0,
    0,  118,    0,  665,  119,  120,    0,    0,    0,    0,
  666,    0,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,  667,    0,  125,    0,    0,  126,  668,  669,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,  670,    0,  135,  671,    0,
    0,    0,  981,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,  672,    0,  673,  674,  144,    0,  675,
    0,  145, 1001,    0,  146,  676,    0,    0,  677,  147,
  148,    0,    0,  981,    0,    0,  981,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,  981,  155,    0,  678,    0,    0,    0,  156,    0,
  157,  158,    0, 1001,  160,  161, 1001,    0,    0,  679,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168, 1001,  169,  680,  170,  171,  172,  173,  174,  681,
    0,    0,    0,  175,    0,  176,    0,    0,    0,  682,
    0,    0,    0,    0,    0,    0,  178, 1084,    0,    0,
    0,  179,  180,  683,  684,  685,  686,  425,  426,  182,
    0,  183,  184,  185,  186,    0,  187,  687,    0,    0,
    0,    0,    0,    0,  188,  189,  688,  689,  690,  691,
  692,  693,  694,  695,  696,  190,  697,    0,  192,  193,
  194,  698,  699,    0,  700,  701,  702,    0,  197,  198,
  703,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  704,  209,    0,  705,
  211,  212,    0,  213,    0,  706,  707,  708,    0,  709,
  710,    0,  711,  214,  215,  216,  217,  218,  219,  712,
  221,  713,  223,  714,  715,  716,  717,  718,  719,  720,
  721,  722,  723,  724,    0,  725,  726,  727,  728,  729,
  730,    0,  731,  732,  733,  244,    0,  734,    0,  735,
  736,  737,  738,  739,  251,  252,  740,  254,  741,  742,
  743,  258,  744,  260,  745,  262,  746,    0,  747,  748,
  749,  750,    0,  751,  752,  753,  271,  754,    0,  755,
  756,  275,  757,  277,  278,  758,  280,  281,  282,  283,
  284,  285,    0,  759,    0,  287,  288,  289,  290,  291,
 1085,  760,  761,  762, 1001,  763,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  765,    0,
    0,    0,    0,  766,    0,    0,  981,    0,    0,  981,
    0,    0,    0,    0,    0,    0,  981,    0,  981,    0,
    0,    0,  981,    0,    0,    0,    0,  981,    0,    0,
  981,    0,    0,    0,    0,    0, 1001,    0,    0, 1001,
    0,    0,    0,    0,    0,  981, 1001,    0, 1001,    0,
    0,    0, 1001,    0,    0,    0,    0, 1001,  981,    0,
 1001,    0,    0,    0,    0,    0,  981,    0,    0,  981,
  981,    0,    0,    0,    0, 1001,    0,    0,    0,  981,
    0,    0,    0,    0,    0,    0,    0,    0, 1001,    0,
    0,    0,    0,    0,    0,  981, 1001,    0,    0, 1001,
 1001,    0,    0,    0,    0,    0,    0,    0,    0, 1001,
    0,    0,    0,    0,    0,    0,    0,  981,    0,    0,
    0,    0,  981,    0,    0, 1001,    0,    0,    0,    0,
    0,    0,    0,  981,  981,    0,  981,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1001,    0,    0,
    0,    0, 1001,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1001, 1001,    0, 1001,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  981,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  115,    0,  116,
  981,    0,    0,    0,  981,  118,    0,  665,  119,  120,
    0,    0,    0, 1001,  666,    0,    0,    0,    0,  981,
  121,  122,    0,  123,    0,  124,  667,    0,  125,    0,
 1001,  126,  668,  669, 1001,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132, 1001,
    0,  134,    0,    0,    0,    0,    0,    0,    0,  670,
    0,  135,  671,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,  672,    0,  673,
  674,  144,    0,  675,    0,  145,    0,    0,  146,  676,
    0,    0,  677,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,  678,    0,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,  679,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0,  169,  680,  170,  171,
  172,  173,  174,  681,    0,    0,    0,  175,    0,  176,
    0,    0,    0,  682,    0,    0, 1085,    0, 1211,  762,
  178,  763,    0,    0,   16,  179,  180,  683,  684,  685,
  686,  425,  426,  182,  765,  183,  184,  185,  186,  766,
  187,  687,    0,    0,    0,    0,    0,    0,  188,  189,
  688,  689,  690,  691,  692,  693,  694,  695,  696,  190,
  697,    0,  192,  193,  194,  698,  699,    0,  700,  701,
  702,    0,  197,  198,  703,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  704,  209,    0,  705,  211,  212,    0,  213,    0,  706,
  707,  708,    0,  709,  710,    0,  711,  214,  215,  216,
  217,  218,  219,  712,  221,  713,  223,  714,  715,  716,
  717,  718,  719,  720,  721,  722,  723,  724,    0,  725,
  726,  727,  728,  729,  730,    0,  731,  732,  733,  244,
    0,  734,    0,  735,  736,  737,  738,  739,  251,  252,
  740,  254,  741,  742,  743,  258,  744,  260,  745,  262,
  746,    0,  747,  748,  749,  750,    0,  751,  752,  753,
  271,  754,    0,  755,  756,  275,  757,  277,  278,  758,
  280,  281,  282,  283,  284,  285,    0,  759,    0,  287,
  288,  289,  290,  291,    0,  760,  761,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  115,    0,  116,    0,    0,    0,    0,
    0,  118,    0,  665,  119,  120,    0,    0,    0,    0,
  666,    0,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,  667,    0,  125,    0,    0,  126,  668,  669,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,  670,    0,  135,  671,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,  672,    0,  673,  674,  144,    0,  675,
    0,  145,    0,    0,  146,  676,    0,    0,  677,  147,
  148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,  678,    0,    0,    0,  156,    0,
  157,  158,    0,    0,  160,  161,    0,    0,    0,  679,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168,    0,  169,  680,  170,  171,  172,  173,  174,  681,
    0,    0,    0,  175,    0,  176,    0,    0,    0,  682,
    0,    0, 1085, 1461,    0,  762,  178,  763,    0,    0,
    0,  179,  180,  683,  684,  685,  686,  425,  426,  182,
  765,  183,  184,  185,  186,  766,  187,  687,    0,    0,
    0,    0,    0,    0,  188,  189,  688,  689,  690,  691,
  692,  693,  694,  695,  696,  190,  697,    0,  192,  193,
  194,  698,  699,    0,  700,  701,  702,    0,  197,  198,
  703,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  704,  209,    0,  705,
  211,  212,    0,  213,    0,  706,  707,  708,    0,  709,
  710,    0,  711,  214,  215,  216,  217,  218,  219,  712,
  221,  713,  223,  714,  715,  716,  717,  718,  719,  720,
  721,  722,  723,  724,    0,  725,  726,  727,  728,  729,
  730,    0,  731,  732,  733,  244,    0,  734,    0,  735,
  736,  737,  738,  739,  251,  252,  740,  254,  741,  742,
  743,  258,  744,  260,  745,  262,  746,    0,  747,  748,
  749,  750,    0,  751,  752,  753,  271,  754,    0,  755,
  756,  275,  757,  277,  278,  758,  280,  281,  282,  283,
  284,  285,    0,  759,    0,  287,  288,  289,  290,  291,
    0,  760,  761,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  115,
    0,  116,    0,    0,    0,    0,    0,  118,    0,  665,
  119,  120,    0,    0,    0,    0,  666,    0,    0,    0,
    0,    0,  121,  122,    0,  123,    0,  124,  667,    0,
  125,    0,    0,  126,  668,  669,    0,    0,    0,    0,
  128,    0,  129,  130,    0,    0,    0,  131,    0,    0,
  132,    0,    0,  134,    0,    0,    0,    0,    0,    0,
    0,  670,    0,  135,  671,    0,    0,    0,    0,  137,
    0,  138,    0,  139,    0,    0,    0,    0,    0,  141,
    0,  142,    0,    0,    0,  143,    0,    0,    0,  672,
    0,  673,  674,  144,    0,  675,    0,  145,    0,    0,
  146,  676,    0,    0,  677,  147,  148,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  149,    0,
    0,    0,  150,  151,  152,  153,  154,    0,  155,    0,
  678,    0,    0,    0,  156,    0,  157,  158,    0,    0,
  160,  161,    0,    0,    0,  679,    0,    0,  162,    0,
    0,  164,  165,  166,  167,    0,  168,    0,  169,  680,
  170,  171,  172,  173,  174,  681,    0,    0,    0,  175,
    0,  176,    0,    0,    0,  682,    0,    0, 1085,    0,
    0,  762,  178,  763,    0,    0,    0,  179,  180,  683,
  684,  685,  686,  425,  426,  182,  765,  183,  184,  185,
  186,  766,  187,  687,    0,    0,    0,    0,    0,    0,
  188,  189,  688,  689,  690,  691,  692,  693,  694,  695,
  696,  190,  697,    0,  192,  193,  194,  698,  699,    0,
  700,  701,  702,    0,  197,  198,  703,  199,    0,    0,
  200,  201,  202,  203,  204,  205,  206,    0,    0,    0,
    0,  207,  704,  209,    0,  705,  211,  212,    0,  213,
    0,  706,  707,  708,    0,  709,  710,    0,  711,  214,
  215,  216,  217,  218,  219,  712,  221,  713,  223,  714,
  715,  716,  717,  718,  719,  720,  721,  722,  723,  724,
    0,  725,  726,  727,  728,  729,  730,    0,  731,  732,
  733,  244,    0,  734,    0,  735,  736,  737,  738,  739,
  251,  252,  740,  254,  741,  742,  743,  258,  744,  260,
  745,  262,  746,    0,  747,  748,  749,  750,    0,  751,
  752,  753,  271,  754,    0,  755,  756,  275,  757,  277,
  278,  758,  280,  281,  282,  283,  284,  285,    0,  759,
    0,  287,  288,  289,  290,  291,    0,  760,  761,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  115,    0,  116,    0,    0,
    0,    0,    0,  118,    0,  665,  119,  120,    0,    0,
    0,    0,  666,    0,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,  667,    0,  125,    0,    0,  126,
  668,  669,    0,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0,    0,  134,
    0,    0,    0,    0,    0,    0,    0,  670,    0,  135,
  671,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,    0,    0,    0,  141,    0,  142,    0,    0,
    0,  143,    0,    0,    0,  672,    0,  673,  674,  144,
    0,  675,    0,  145,    0,    0,  146,  676,    0,    0,
  677,  147,  148,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,  678,    0,    0,    0,
  156,    0,  157,  158,    0,    0,  160,  161,    0,    0,
    0,  679,    0,    0,  162,    0,    0,  164,  165,  166,
  167,    0,  168,    0,  169,  680,  170,  171,  172,  173,
  174,  681,    0,    0,    0,  175,    0,  176,    0,    0,
    0,  682,    0,    0, 1085,    0,    0,  762,  178,  763,
    0,    0, 1715,  179,  180,  683,  684,  685,  686,  425,
  426,  182,  765,  183,  184,  185,  186,  766,  187,  687,
    0,    0,    0,    0,    0,    0,  188,  189,  688,  689,
  690,  691,  692,  693,  694,  695,  696,  190,  697,    0,
  192,  193,  194,  698,  699,    0,  700,  701,  702,    0,
  197,  198,  703,  199,    0,    0,  200,  201,  202,  203,
  204,  205,  206,    0,    0,    0,    0,  207,  704,  209,
    0,  705,  211,  212,    0,  213,    0,  706,  707,  708,
    0,  709,  710,    0,  711,  214,  215,  216,  217,  218,
  219,  712,  221,  713,  223,  714,  715,  716,  717,  718,
  719,  720,  721,  722,  723,  724,    0,  725,  726,  727,
  728,  729,  730,    0,  731,  732,  733,  244,    0,  734,
    0,  735,  736,  737,  738,  739,  251,  252,  740,  254,
  741,  742,  743,  258,  744,  260,  745,  262,  746,    0,
  747,  748,  749,  750,    0,  751,  752,  753,  271,  754,
    0,  755,  756,  275,  757,  277,  278,  758,  280,  281,
  282,  283,  284,  285,    0,  759,    0,  287,  288,  289,
  290,  291,    0,  760,  761,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  115,    0,  116,    0,    0,    0,    0,    0,  118,
    0,  665,  119,  120,    0,    0,    0,    0,  666,    0,
    0,    0,    0,    0,  121,  122,    0,  123,    0,  124,
  667,    0,  125,    0,    0,  126,  668,  669,    0,    0,
    0,    0,  128,    0,  129,  130,    0,    0,    0,  131,
    0,    0,  132,    0,    0,  134,    0,    0,    0,    0,
 1770,    0,    0,  670,    0,  135,  671,    0,    0,    0,
    0,  137,    0,  138,    0,  139,    0,    0,    0,    0,
    0,  141,    0,  142,    0,    0,    0,  143,    0,    0,
    0,  672,    0,  673,  674,  144,    0,  675,    0,  145,
    0,    0,  146,  676,    0,    0,  677,  147,  148,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  149,    0,    0,    0,  150,  151,  152,  153,  154,    0,
  155,    0,  678,    0,    0,    0,  156,    0,  157,  158,
    0,    0,  160,  161,    0,    0,    0,  679,    0,    0,
  162,    0,    0,  164,  165,  166,  167,    0,  168,    0,
  169,  680,  170,  171,  172,  173,  174,  681,    0,    0,
    0,  175,    0,  176,    0,    0,    0,  682,    0,    0,
 1085,    0,    0,  762,  178,  763,    0,    0,    0,  179,
  180,  683,  684,  685,  686,  425,  426,  182,  765,  183,
  184,  185,  186,  766,  187,  687,    0,    0,    0,    0,
    0,    0,  188,  189,  688,  689,  690,  691,  692,  693,
  694,  695,  696,  190,  697,    0,  192,  193,  194,  698,
  699,    0,  700,  701,  702,    0,  197,  198,  703,  199,
    0,    0,  200,  201,  202,  203,  204,  205,  206,    0,
    0,    0,    0,  207,  704,  209,    0,  705,  211,  212,
    0,  213,    0,  706,  707,  708,    0,  709,  710,    0,
  711,  214,  215,  216,  217,  218,  219,  712,  221,  713,
  223,  714,  715,  716,  717,  718,  719,  720,  721,  722,
  723,  724,    0,  725,  726,  727,  728,  729,  730,    0,
  731,  732,  733,  244,    0,  734,    0,  735,  736,  737,
  738,  739,  251,  252,  740,  254,  741,  742,  743,  258,
  744,  260,  745,  262,  746,    0,  747,  748,  749,  750,
    0,  751,  752,  753,  271,  754,    0,  755,  756,  275,
  757,  277,  278,  758,  280,  281,  282,  283,  284,  285,
    0,  759,    0,  287,  288,  289,  290,  291,    0,  760,
  761,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  115,    0,  116,
    0,    0,    0,    0,    0,  118,    0,  665,  119,  120,
    0,    0,    0,    0,  666,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,  667,    0,  125,    0,
    0,  126,  668,  669,    0,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132,    0,
    0,  134,    0,    0,    0,    0,    0,    0,    0,  670,
    0,  135,  671,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,  672,    0,  673,
  674,  144,    0,  675,    0,  145,    0,    0,  146,  676,
    0,    0,  677,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,  678,    0,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,  679,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0,  169,  680,  170,  171,
  172,  173,  174,  681,    0,    0,    0,  175,    0,  176,
    0,    0,    0,  682,    0,    0,  819,    0,  819,  819,
  178,  819,    0,    0, 1977,  179,  180,  683,  684,  685,
  686,  425,  426,  182,  819,  183,  184,  185,  186,  819,
  187,  687,    0,    0,    0,    0,    0,    0,  188,  189,
  688,  689,  690,  691,  692,  693,  694,  695,  696,  190,
  697,    0,  192,  193,  194,  698,  699,    0,  700,  701,
  702,    0,  197,  198,  703,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  704,  209,    0,  705,  211,  212,    0,  213,    0,  706,
  707,  708,    0,  709,  710,    0,  711,  214,  215,  216,
  217,  218,  219,  712,  221,  713,  223,  714,  715,  716,
  717,  718,  719,  720,  721,  722,  723,  724,    0,  725,
  726,  727,  728,  729,  730,    0,  731,  732,  733,  244,
    0,  734,    0,  735,  736,  737,  738,  739,  251,  252,
  740,  254,  741,  742,  743,  258,  744,  260,  745,  262,
  746,    0,  747,  748,  749,  750,    0,  751,  752,  753,
  271,  754,    0,  755,  756,  275,  757,  277,  278,  758,
  280,  281,  282,  283,  284,  285,    0,  759,    0,  287,
  288,  289,  290,  291,    0,  760,  761,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  819,    0,  819,  819,    0,    0,    0,
    0,  819,    0,  819,  819,  819,    0,    0,    0,    0,
  819,    0,    0,    0,    0,    0,  819,  819,    0,  819,
    0,  819,  819,    0,  819,    0,    0,  819,  819,  819,
    0,    0,    0,    0,  819,  819,  819,  819,    0,    0,
    0,  819,    0,    0,  819,    0,    0,  819,    0,    0,
    0,    0,    0,    0,    0,  819,    0,  819,  819,    0,
    0,    0,    0,  819,    0,  819,    0,  819,    0,    0,
    0,    0,    0,  819,    0,  819,    0,    0,    0,  819,
    0,    0,    0,  819,    0,  819,  819,  819,    0,  819,
    0,  819,    0,    0,  819,  819,    0,    0,  819,  819,
  819,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  819,    0,    0,    0,  819,  819,  819,  819,
  819,    0,  819,    0,  819,    0,    0,    0,  819,    0,
  819,  819,    0,    0,  819,  819,    0,    0,    0,  819,
    0,    0,  819,    0,    0,  819,  819,  819,  819,    0,
  819,    0,  819,  819,  819,  819,  819,  819,  819,  819,
    0,    0,    0,  819,    0,  819,    0,    0,    0,  819,
    0,    0, 1283,    0, 1283, 1283,  819, 1283,    0,    0,
    0,  819,  819,  819,  819,  819,  819,  819,  819,  819,
 1283,  819,  819,  819,  819, 1283,  819,  819,    0,    0,
    0,    0,    0,    0,  819,  819,  819,  819,  819,  819,
  819,  819,  819,  819,  819,  819,  819,    0,  819,    0,
    0,  819,  819,    0,  819,  819,  819,    0,  819,  819,
  819,  819,    0,    0,  819,  819,  819,  819,  819,  819,
  819,    0,    0,    0,    0,  819,  819,  819,    0,  819,
  819,  819,    0,  819,    0,  819,  819,  819,    0,  819,
  819,    0,  819,  819,  819,  819,  819,  819,  819,  819,
  819,  819,  819,  819,  819,  819,  819,  819,  819,  819,
  819,  819,  819,  819,    0,  819,  819,  819,  819,  819,
  819,    0,  819,  819,  819,  819,    0,  819,    0,  819,
  819,  819,  819,  819,  819,  819,  819,  819,  819,  819,
  819,  819,  819,  819,  819,  819,  819,    0,  819,  819,
  819,  819,    0,  819,  819,  819,  819,  819,    0,  819,
  819,  819,  819,  819,  819,  819,  819,  819,  819,  819,
  819,  819,    0,  819,    0,  819,  819,  819,  819,  819,
    0,  819,  819,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1283,
    0, 1283,    0,    0,    0,    0,    0, 1283,    0, 1283,
 1283, 1283,    0,    0,    0,    0, 1283,    0,    0,    0,
    0,    0, 1283, 1283,    0, 1283,    0, 1283, 1283,    0,
 1283,    0,    0, 1283, 1283, 1283,    0,    0,    0,    0,
 1283,    0, 1283, 1283,    0,    0,    0, 1283,    0,    0,
 1283,    0,    0, 1283,    0,    0,    0,    0,    0,    0,
    0, 1283,    0, 1283, 1283,    0,    0,    0,    0, 1283,
    0, 1283,    0, 1283,    0,    0,    0,    0,    0, 1283,
    0, 1283,    0,    0,    0, 1283,    0,    0,    0, 1283,
    0, 1283, 1283, 1283,    0, 1283,    0, 1283,    0,    0,
 1283, 1283,    0,    0, 1283, 1283, 1283,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1283,    0,
    0,    0, 1283, 1283, 1283, 1283, 1283,    0, 1283,    0,
 1283,    0,    0,    0, 1283,    0, 1283, 1283,    0,    0,
 1283, 1283,    0,    0,    0, 1283,    0,    0, 1283,    0,
    0, 1283, 1283, 1283, 1283,    0, 1283,    0, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283,    0,    0,    0, 1283,
    0, 1283,    0,    0,    0, 1283,    0,    0,  764,    0,
    0,  762, 1283,  763,    0,    0,    0, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283,  765, 1283, 1283, 1283,
 1283,  766, 1283, 1283,    0,    0,    0,    0,    0,    0,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283, 1283,    0,
 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283,    0,    0,
 1283, 1283, 1283, 1283, 1283, 1283, 1283,    0,    0,    0,
    0, 1283, 1283, 1283,    0, 1283, 1283, 1283,    0, 1283,
    0, 1283, 1283, 1283,    0, 1283, 1283,    0, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
    0, 1283, 1283, 1283, 1283, 1283, 1283,    0, 1283, 1283,
 1283, 1283,    0, 1283,    0, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283,    0, 1283,
 1283, 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,    0, 1283,
    0, 1283, 1283, 1283, 1283, 1283,    0, 1283, 1283,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  115,    0,  116,    0,    0,
    0,    0,    0,  118,    0,  665,  119,  120,    0,    0,
    0,    0,  666,    0,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,  667,    0,  125,    0,    0,  126,
  668,  669,    0,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0,    0,  134,
    0,    0,    0,    0,    0,    0,    0,  670,    0,  135,
  671,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,    0,    0,    0,  141,    0,  142,    0,    0,
    0,  143,    0,    0,    0,  672,    0,  673,  674,  144,
    0,  675,    0,  145,    0,    0,  146,  676,    0,    0,
  677,  147,  148,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,  678,    0,    0,    0,
  156,    0,  157,  158,    0,    0,  160,  161,    0,    0,
    0,  679,    0,    0,  162,    0,    0,  164,  165,  166,
  167,    0,  168,    0,  169,  680,  170,  171,  172,  173,
  174,  681,    0,    0,    0,  175,    0,  176,    0,    0,
    0,  682,    0,    0, 1085,    0,    0,  762,  178,  763,
    0,    0,    0,  179,  180,  683,  684,  685,  686,  425,
  426,  182,  765,  183,  184,  185,  186,  766,  187,  687,
    0,    0,    0,    0,    0,    0,  188,  189,  688,  689,
  690,  691,  692,  693,  694,  695,  696,  190,  697,    0,
  192,  193,  194,  698,  699,    0,  700,  701,  702,    0,
  197,  198,  703,  199,    0,    0,  200,  201,  202,  203,
  204,  205,  206,    0,    0,    0,    0,  207,  704,  209,
    0,  705,  211,  212,    0,  213,    0,  706,  707,  708,
    0,  709,  710,    0,  711,  214,  215,  216,  217,  218,
  219,  712,  221,  713,  223,  714,  715,  716,  717,  718,
  719,  720,  721,  722,  723,  724,    0,  725,  726,  727,
  728,  729,  730,    0,  731,  732,  733,  244,    0,  734,
    0,  735,  736,  737,  738,  739,  251,  252,  740,  254,
  741,  742,  743,  258,  744,  260,  745,  262,  746,    0,
  747,  748,  749,  750,    0,  751,  752,  753,  271,  754,
    0,  755,  756,  275,  757,  277,  278,  758,  280,  281,
  282,  283,  284,  285,    0,  759,    0,  287,  288,  289,
  290,  291,    0,  760,  761,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  115,    0,  116,    0,    0,    0,    0,    0,  118,
    0,  665,  119,  120,    0,    0,    0,    0,  666,    0,
    0,    0,    0,    0,  121,  122,    0,  123,    0,  124,
  667,    0,  125,    0,    0,  126,  668,  669,    0,    0,
    0,    0,  128,    0,  129,  130,    0,    0,    0,  131,
    0,    0,  132,    0,    0,  134,    0,    0,    0,    0,
    0,    0,    0,  670,    0,  135,  671,    0,    0,    0,
    0,  137,    0,  138,    0,  139,    0,    0,    0,    0,
    0,  141,    0,  142,    0,    0,    0,  143,    0,    0,
    0,  672,    0,  673,  674,  144,    0,  675,    0,  145,
    0,    0,  146,  676,    0,    0,  677,  147,  148,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  149,    0,    0,    0,  150,  151,  152,  153,  154,    0,
  155,    0,  678,    0,    0,    0,  156,    0,  157,  158,
    0,    0,  160,  161,    0,    0,    0,  679,    0,    0,
  162,    0,    0,  164,  165,  166,  167,    0,  168,    0,
  169,  680,  170,  171,  172,  173,  174,  681,    0,    0,
    0,  175,    0,  176,    0,    0,    0,  682,    0,    0,
 2533,    0,    0,  762,  178,  763,    0,    0,    0,  179,
  180,  683,  684,  685,  686,  425,  426,  182,  765,  183,
  184,  185,  186,  766,  187,  687,    0,    0,    0,    0,
    0,    0,  188,  189,  688,  689,  690,  691,  692,  693,
  694,  695,  696,  190,  697,    0,  192,  193,  194,  698,
  699,    0,  700,  701,  702,    0,  197,  198,  703,  199,
    0,    0,  200,  201,  202,  203,  204,  205,  206,    0,
    0,    0,    0,  207,  704,  209,    0,  705,  211,  212,
    0,  213,    0,  706,  707,  708,    0,  709,  710,    0,
  711,  214,  215,  216,  217,  218,  219,  712,  221,  713,
  223,  714,  715,  716,  717,  718,  719,  720,  721,  722,
  723,  724,    0,  725,  726,  727,  728,  729,  730,    0,
  731,  732,  733,  244,    0,  734,    0,  735,  736,  737,
  738,  739,  251,  252,  740,  254,  741,  742,  743,  258,
  744,  260,  745,  262,  746,    0,  747,  748,  749,  750,
    0,  751,  752,  753,  271,  754,    0,  755,  756,  275,
  757,  277,  278,  758,  280,  281,  282,  283,  284,  285,
    0,  759,    0,  287,  288,  289,  290,  291,    0,  760,
  761,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  115,    0,  116,
    0,    0,    0,    0,    0,  118,    0,  665,  119,  120,
    0,    0,    0,    0,  666,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,  667,    0,  125,    0,
    0,  126,  668,  669,    0,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132,    0,
    0,  134,    0,    0,    0,    0,    0,    0,    0,  670,
    0,  135,  671,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,  672,    0,  673,
  674,  144,    0,  675,    0,  145,    0,    0,  146,  676,
    0,    0,  677,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,  678,    0,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,  679,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0,  169,  680,  170,  171,
  172,  173,  174,  681,    0,    0,    0,  175,    0,  176,
    0,    0,    0,  682,    0,    0, 1085,    0,    0,  762,
  178,  763,    0,    0,    0,  179,  180,  683,  684,  685,
  686,  425,  426,  182,  765,  183,  184,  185,  186,  766,
  187,  687,    0,    0,    0,    0,    0,    0,  188,  189,
  688,  689,  690,  691,  692,  693,  694,  695,  696,  190,
  697,    0,  192,  193,  194,  698,  699,    0,  700,  701,
  702,    0,  197,  198,  703,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  704,  209,    0,  705,  211,  212,    0,  213,    0,  706,
  707,  708,    0,  709,  710,    0,  711,  214,  215,  216,
  217,  218,  219,  712,  221,  713,  223,  714,  715,  716,
  717,  718,  719,  720,  721,  722,  723,  724,    0,  725,
  726,  727,  728,  729,  730,    0,  731,  732,  733,  244,
    0,  734,    0,  735,  736,  737,  738,  739,  251,  252,
  740,  254,  741,  742,  743,  258,  744,  260,  745,  262,
  746,    0,  747,  748,  749,  750,    0,  751,  752,  753,
  271,  754,    0,  755,  756,  275,  757,  277,  278,  758,
  280,  281,  282,  283,  284,  285,    0,  759,    0,  287,
  288,  289,  290,  291,    0,  760,  761,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  115,    0,  116,    0,    0,    0,    0,
    0,  118,    0,  665,  119,  120,    0,    0,    0,    0,
  666,    0,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,  667,    0,  125,    0,    0,  126,  668,  669,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,  670,    0,  135,  671,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,  672,    0,  673,  674,  144,    0,  675,
    0,  145,    0,    0,  146,  676,    0,    0,  677,  147,
  148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,  678,    0,    0,    0,  156,    0,
  157,  158,    0,    0,  160,  161,    0,    0,    0,  679,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168,    0,  169,  680,  170,  171,  172,  173,  174,  681,
    0,    0,    0,  175,    0,  176,    0,    0,    0,  682,
    0,    0, 1283,    0,    0, 1283,  178, 1283,    0,    0,
    0,  179,  180,  683,  684,  685,  686,  425,  426,  182,
 1283,  183,  184,  185,  186, 1283,  187,  687,    0,    0,
    0,    0,    0,    0,  188,  189,  688,  689,  690,  691,
  692,  693,  694,  695,  696,  190,  697,    0,  192,  193,
  194,  698,  699,    0,  700,  701,  702,    0,  197,  198,
  703,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  704,  209,    0,  705,
  211,  212,    0,  213,    0,  706,  707,  708,    0,  709,
  710,    0,  711,  214,  215,  216,  217,  218,  219,  712,
  221,  713,  223,  714,  715,  716,  717,  718,  719,  720,
  721,  722,  723,  724,    0,  725,  726,  727,  728,  729,
  730,    0,  731,  732,  733,  244,    0,  734,    0,  735,
  736,  737,  738,  739,  251,  252,  740,  254,  741,  742,
  743,  258,  744,  260,  745,  262,  746,    0,  747,  748,
  749,  750,    0,  751,  752,  753,  271,  754,    0,  755,
  756,  275,  757,  277,  278,  758,  280,  281,  282,  283,
  284,  285,    0,  759,    0,  287,  288, 2593,  290,  291,
    0,  760,  761,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1283,
    0, 1283,    0,    0,    0,    0,    0, 1283,    0, 1283,
 1283, 1283,    0,    0,    0,    0, 1283,    0,    0,    0,
    0,    0, 1283, 1283,    0, 1283,    0, 1283, 1283,    0,
 1283,    0,    0, 1283, 1283, 1283,    0,    0,    0,    0,
 1283,    0, 1283, 1283,    0,    0,    0, 1283,    0,    0,
 1283,    0,    0, 1283,    0,    0,    0,    0,    0,    0,
    0, 1283,    0, 1283, 1283,    0,    0,    0,    0, 1283,
    0, 1283,    0, 1283,    0,    0,    0,    0,    0, 1283,
    0, 1283,    0,    0,    0, 1283,    0,    0,    0, 1283,
    0, 1283, 1283, 1283,    0, 1283,    0, 1283,    0,    0,
 1283, 1283,    0,    0, 1283, 1283, 1283,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1283,    0,
    0,    0, 1283, 1283, 1283, 1283, 1283,    0, 1283,    0,
 1283,  890,    0,    0, 1283,    0, 1283, 1283,    0,    0,
 1283, 1283,    0,    0,    0, 1283,    0,    0, 1283,    0,
    0, 1283, 1283, 1283, 1283,    0, 1283,    0, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283,    0,    0,    0, 1283,
    0, 1283,    0,    0,    0, 1283,    0,    0,    0,    0,
    0,    0, 1283,    0,    0,    0,    0, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283,    0, 1283, 1283, 1283,
 1283,    0, 1283, 1283,    0,    0,    0,    0,    0,    0,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283, 1283,    0,
 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283,    0,    0,
 1283, 1283, 1283, 1283, 1283, 1283, 1283,    0,    0,    0,
    0, 1283, 1283, 1283,    0, 1283, 1283, 1283,    0, 1283,
    0, 1283, 1283, 1283,    0, 1283, 1283,    0, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
    0, 1283, 1283, 1283, 1283, 1283, 1283,    0, 1283, 1283,
 1283, 1283,    0, 1283,    0, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283,    0, 1283,
 1283, 1283, 1283, 1283,    0, 1283, 1283, 1283, 1283, 1283,
 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1474, 1283,
 1474, 1283, 1283, 1283, 1283, 1283, 1474, 1283, 1283, 1474,
 1474,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1474, 1474,    0, 1474,    0, 1474,    0,    0, 1474,
    0,    0, 1474,    0,    0,    0,    0,    0,    0, 1474,
    0, 1474, 1474,    0,    0,    0, 1474,    0,    0, 1474,
    0,    0, 1474,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1474, 1474,    0,    0,    0,    0, 1474,    0,
 1474,    0, 1474, 1474,    0,    0,    0,    0, 1474,    0,
 1474,    0,    0,    0, 1474,    0,    0,    0,    0,    0,
    0,    0, 1474,    0,    0,    0, 1474,    0,    0, 1474,
    0,    0,    0,    0, 1474, 1474,    0, 1474,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1474,    0, 1474,
    0, 1474, 1474, 1474, 1474, 1474,    0, 1474,    0,    0,
 1450,    0,    0, 1474,    0, 1474, 1474,    0,    0, 1474,
 1474,    0,    0,    0,    0,    0,    0, 1474,  765,    0,
 1474, 1474, 1474, 1474,    0, 1474,    0, 1474,    0, 1474,
 1474, 1474, 1474, 1474,    0,    0,    0,    0, 1474,    0,
 1474,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1474,    0,    0,    0,    0, 1474, 1474,    0,    0,
    0, 1474,    0,    0, 1474,    0, 1474, 1474, 1474, 1474,
    0, 1474,    0,    0,    0,    0,    0,    0,    0, 1474,
 1474,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1474, 1474,    0, 1474, 1474, 1474,    0,    0,    0,    0,
 1474, 1474,    0, 1474, 1474,    0, 1474,    0,    0, 1474,
 1474, 1474, 1474, 1474, 1474, 1474,    0,    0,    0,    0,
 1474, 1474, 1474,    0, 1474, 1474, 1474,    0, 1474,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1474, 1474,
 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474,    0,
 1474, 1474, 1474, 1474, 1474, 1474,    0, 1474, 1474, 1474,
 1474,    0, 1474,    0, 1474, 1474, 1474, 1474, 1474, 1474,
 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
 1474, 1474,    0, 1474, 1474, 1474, 1474,    0, 1474, 1474,
 1474, 1474, 1474,    0, 1474, 1474, 1474, 1474, 1474, 1474,
 1474, 1474, 1474, 1474, 1474, 1474, 1474,  115, 1474,  116,
 1474, 1474, 1474, 1474, 1474,  118, 1474,    0,  119,  120,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,    0,    0,  125,    0,
    0,  126,    0,    0,    0,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132,    0,
    0,  134,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  135,  136,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,    0,    0,    0,
    0,  144,    0,    0,    0,  145,    0,    0,  146,    0,
    0,    0,    0,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,    0, 1153,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,    0,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0,  169,    0,  170,  171,
  172,  173,  174,    0,    0,    0,    0,  175,    0,  176,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  178,    0,    0,    0,    0,  179,  180,    0,    0,    0,
  181,    0,    0,  182,    0,  183,  184,  185,  186,    0,
  187,    0,    0,    0,    0,    0,    0,    0,  188,  189,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  190,
  191,    0,  192,  193,  194,    0,    0,    0,    0,  195,
  196,    0,  197,  198,    0,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  208,  209,    0,  210,  211,  212,    0,  213,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  214,  215,  216,
  217,  218,  219,  220,  221,  222,  223,  224,  225,  226,
  227,  228,  229,  230,  231,  232,  233,  234,    0,  235,
  236,  237,  238,  239,  240,    0,  241,  242,  243,  244,
    0,  245,    0,  246,  247,  248,  249,  250,  251,  252,
  253,  254,  255,  256,  257,  258,  259,  260,  261,  262,
  263,    0,  264,  265,  266,  267,    0,  268,  269,  270,
  271,  272,    0,  273,  274,  275,  276,  277,  278,  279,
  280,  281,  282,  283,  284,  285,  115,  286,  116,  287,
  288,  289,  290,  291,  118,  292,    0,  119,  120,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  121,
  122,    0,  123,    0,  124,    0,    0,  125,    0,    0,
  126,    0,    0,    0,    0,    0,    0,  128,    0,  129,
  130,    0,    0,    0,  131,    0,    0,  132,    0,    0,
  134,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  135,  136,    0,    0,    0,    0,  137,    0,  138,    0,
  139,    0,    0,    0,    0,    0,  141,    0,  142,    0,
    0,    0,  143,    0,    0,    0,    0,    0,    0,    0,
  144,    0,    0,    0,  145,    0,    0,  146,    0,    0,
    0,    0,  147,  148,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  149,    0,    0,    0,  150,
  151,  152,  153,  154,    0,  155,    0,    0, 1153,    0,
    0,  156,    0,  157,  158,    0,    0,  160,  161,    0,
    0,    0,    0,    0,    0,  162,    0,    0,  164,  165,
  166,  167,    0,  168,    0,  169,    0,  170,  171,  172,
  173,  174,    0,    0,    0,    0,  175,    0,  176,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  178,
    0,    0,    0,   16,  179,  180,    0,    0,    0,  181,
    0,    0,  182,    0,  183,  184,  185,  186,    0,  187,
    0,    0,    0,    0,    0,    0,    0,  188,  189,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  190,  191,
    0,  192,  193,  194,    0,    0,    0,    0,  195,  196,
    0,  197,  198,    0,  199,    0,    0,  200,  201,  202,
  203,  204,  205,  206,    0,    0,    0,    0,  207,  208,
  209,    0,  210,  211,  212,    0,  213,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  214,  215,  216,  217,
  218,  219,  220,  221,  222,  223,  224,  225,  226,  227,
  228,  229,  230,  231,  232,  233,  234,    0,  235,  236,
  237,  238,  239,  240,    0,  241,  242,  243,  244,    0,
  245,    0,  246,  247,  248,  249,  250,  251,  252,  253,
  254,  255,  256,  257,  258,  259,  260,  261,  262,  263,
    0,  264,  265,  266,  267,    0,  268,  269,  270,  271,
  272,    0,  273,  274,  275,  276,  277,  278,  279,  280,
  281,  282,  283,  284,  285,  115,  286,  116,  287,  288,
  289,  290,  291,  118,  292,    0,  119,  120,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,    0,    0,  125,    0,    0,  126,
    0,    0,    0,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0,    0,  134,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  135,
  136,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,    0,    0,    0,  141,    0,  142,    0,    0,
    0,  143,    0,    0,    0,    0,    0,    0,    0,  144,
    0,    0,    0,  145,    0,    0,  146,    0,    0,    0,
    0,  147,  148,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,    0,  490,    0,    0,
  156,    0,  157,  158,    0,    0,  160,  161,    0,    0,
    0,    0,    0,    0,  162,    0,    0,  164,  165,  166,
  167,    0,  168,    0,  169,    0,  170,  171,  172,  173,
  174,    0,    0,    0,    0,  175,    0,  176,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  178,    0,
    0,    0,    0,  179,  180,    0,    0,    0,  181,    0,
    0,  182,    0,  183,  184,  185,  186,    0,  187,    0,
    0,    0,    0,    0,    0,    0,  188,  189,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  190,  191,    0,
  192,  193,  194,    0,    0,    0,    0,  195,  196,    0,
  197,  198,    0,  199,    0,    0,  200,  201,  202,  203,
  204,  205,  206,    0,    0,    0,    0,  207,  208,  209,
    0,  210,  211,  212,    0,  213,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  214,  215,  216,  217,  218,
  219,  220,  221,  222,  223,  224,  225,  226,  227,  228,
  229,  230,  231,  232,  233,  234,    0,  235,  236,  237,
  238,  239,  240,    0,  241,  242,  243,  244,    0,  245,
    0,  246,  247,  248,  249,  250,  251,  252,  253,  254,
  255,  256,  257,  258,  259,  260,  261,  262,  263,    0,
  264,  265,  266,  267,    0,  268,  269,  270,  271,  272,
    0,  273,  274,  275,  276,  277,  278,  279,  280,  281,
  282,  283,  284,  285,  115,  286,  116,  287,  288,  289,
  290,  291,  118,  292,    0,  119,  120,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  121, 1240,    0,
  123,    0,  124,    0,    0,  125,    0,    0,  126,    0,
    0,    0,    0,    0,    0,  128,    0,  129,  130,    0,
    0,    0,  131,    0,    0,  132,    0,    0,  134,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  135,  136,
    0,    0,    0,    0,  137,    0,  138,    0,  139,    0,
    0,    0,    0,    0,  141,    0,  142,    0,    0,    0,
  143,    0,    0,    0,    0,    0,    0,    0,  144,    0,
    0,    0,  145,    0,    0,  146,    0,    0,    0,    0,
  147,  148,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  149,    0,    0,    0,  150,  151,  152,
  153,  154,    0,  155,    0,    0,    0,    0, 1457,  156,
    0,  157,  158,    0,    0,  160,  161,    0,    0,    0,
    0,    0,    0,  162,    0,    0,  164,  165,  166,  167,
    0,  168,    0,  169,    0,  170,  171,  172,  173,  174,
    0,    0,    0,    0,  175,    0,  176,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  178,    0,    0,
    0,    0,  179,  180,    0,    0,    0,  181,    0,    0,
  182,    0,  183,  184,  185,  186,    0,  187,    0,    0,
    0,    0,    0,    0,    0,  188,  189,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  190,  191,    0,  192,
  193,  194,    0,    0,    0,    0,  195,  196,    0,  197,
  198,    0,  199,    0,    0,  200,  201,  202,  203,  204,
  205,  206,    0,    0,    0,    0,  207,  208,  209,    0,
  210,  211,  212,    0,  213,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  214,  215,  216,  217,  218,  219,
  220,  221,  222,  223,  224,  225,  226,  227,  228,  229,
  230,  231,  232,  233,  234,    0,  235,  236,  237,  238,
  239,  240,    0,  241,  242,  243,  244,    0,  245,    0,
  246,  247,  248,  249,  250,  251,  252,  253,  254,  255,
  256,  257,  258,  259,  260,  261,  262,  263,    0,  264,
  265,  266,  267,    0,  268,  269,  270,  271,  272,    0,
  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,
  283,  284,  285,  115,  286,  116,  287,  288,  289,  290,
  291,  118,  292,    0,  119,  120,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,    0,    0,  125,    0,    0,  126,    0, 1456,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  135,  136,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,    0,    0,    0,    0,  144,    0,    0,
    0,  145,    0,    0,  146,    0,    0,    0,    0,  147,
  148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,    0,    0,    0, 1457,  156,    0,
  157,  158,    0,    0,  160,  161,    0,    0,    0,    0,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168,    0,  169,    0,  170,  171,  172,  173,  174,    0,
    0,    0,    0,  175,    0,  176,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  178,    0,    0,    0,
    0,  179,  180,    0,    0,    0,  181,    0,    0,  182,
    0,  183,  184,  185,  186,    0,  187,    0,    0,    0,
    0,    0,    0,    0,  188,  189,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  190,  191,    0,  192,  193,
  194,    0,    0,    0,    0,  195,  196,    0,  197,  198,
    0,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  208,  209,    0,  210,
  211,  212,    0,  213,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  214,  215,  216,  217,  218,  219,  220,
  221,  222,  223,  224,  225,  226,  227,  228,  229,  230,
  231,  232,  233,  234,    0,  235,  236,  237,  238,  239,
  240,    0,  241,  242,  243,  244,    0,  245,    0,  246,
  247,  248,  249,  250,  251,  252,  253,  254,  255,  256,
  257,  258,  259,  260,  261,  262,  263,    0,  264,  265,
  266,  267,    0,  268,  269,  270,  271,  272,    0,  273,
  274,  275,  276,  277,  278,  279,  280,  281,  282,  283,
  284,  285,  115,  286,  116,  287,  288,  289,  290,  291,
  118,  292,    0,  119,  120,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  121,  122,    0,  123,    0,
  124,    0,    0,  125,    0,    0,  126,    0,    0,    0,
    0,    0,    0,  128,    0,  129,  130,    0,    0,    0,
  131,    0,    0,  132,    0,    0,  134,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  135,  136,    0,    0,
    0,    0,  137,    0,  138,    0,  139,    0,    0,    0,
    0,    0,  141,    0,  142,    0,    0,    0,  143,    0,
    0,    0,    0,    0,    0,    0,  144,    0,    0,    0,
  145,    0,    0,  146,    0,    0,    0,    0,  147,  148,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  149,    0,    0,    0,  150,  151,  152,  153,  154,
    0,  155,    0,    0,    0,    0,    0,  156,  832,  157,
  158,    0,    0,  160,  161,    0,    0,    0,    0,    0,
    0,  162,    0,    0,  164,  165,  166,  167,    0,  168,
    0,  169,    0,  170,  171,  172,  173,  174,    0,    0,
    0,    0,  175,    0,  176,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  178,    0,    0,    0,    0,
  179,  180,    0,    0,    0,  181,    0,    0,  182,    0,
  183,  184,  185,  186,    0,  187,    0,    0,    0,    0,
    0,    0,    0,  188,  189,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  190,  191,    0,  192,  193,  194,
    0,    0,    0,    0,  195,  196,    0,  197,  198,    0,
  199,    0,    0,  200,  201,  202,  203,  204,  205,  206,
    0,    0,    0,    0,  207,  208,  209,    0,  210,  211,
  212,    0,  213,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  214,  215,  216,  217,  218,  219,  220,  221,
  222,  223,  224,  225,  226,  227,  228,  229,  230,  231,
  232,  233,  234,    0,  235,  236,  237,  238,  239,  240,
    0,  241,  242,  243,  244,    0,  245,    0,  246,  247,
  248,  249,  250,  251,  252,  253,  254,  255,  256,  257,
  258,  259,  260,  261,  262,  263,    0,  264,  265,  266,
  267,    0,  268,  269,  270,  271,  272,    0,  273,  274,
  275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
  285,  835,  286,  835,  287,  288,  289,  290,  291,  835,
  292,    0,  835,  835,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  835,  835,    0,  835,    0,  835,
    0,    0,  835,    0,    0,  835,    0,    0,    0,    0,
    0,    0,  835,    0,  835,  835,    0,    0,    0,  835,
    0,    0,  835,    0,    0,  835,    0,    0,    0,    0,
  832,    0,    0,    0,    0,  835,  835,    0,    0,    0,
    0,  835,    0,  835,    0,  835,    0,    0,    0,    0,
    0,  835,    0,  835,    0,    0,    0,  835,    0,    0,
    0,    0,    0,    0,    0,  835,    0,    0,    0,  835,
    0,    0,  835,    0,    0,    0,    0,  835,  835,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  835,    0,    0,    0,  835,  835,  835,  835,  835,    0,
  835,    0,    0,    0,    0,    0,  835,    0,  835,  835,
    0,    0,  835,  835,    0,    0, 1035,    0,    0,    0,
  835,    0,    0,  835,  835,  835,  835,    0,  835,    0,
  835,    0,  835,  835,  835,  835,  835,    0,    0,    0,
    0,  835,    0,  835,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  835,    0,    0,    0,    0,  835,
  835,    0,    0,    0,  835,    0,    0,  835,    0,  835,
  835,  835,  835,    0,  835,    0,    0,    0,    0,    0,
    0,    0,  835,  835,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  835,  835,    0,  835,  835,  835,    0,
    0,    0,    0,  835,  835,    0,  835,  835,    0,  835,
    0,    0,  835,  835,  835,  835,  835,  835,  835,    0,
    0,    0,    0,  835,  835,  835,    0,  835,  835,  835,
    0,  835,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,    0,  835,  835,  835,  835,  835,  835,    0,
  835,  835,  835,  835,    0,  835,    0,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
  835,  835,  835,  835,  835,    0,  835,  835,  835,  835,
    0,  835,  835,  835,  835,  835,    0,  835,  835,  835,
  835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
    0,  835,    0,  835,  835,  835,  835,  835,  115,  835,
  116,    0,    0,    0,    0,    0,  118,    0,    0,  119,
  120,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  121,  122,    0,  123,    0,  124,    0,    0,  125,
    0,    0,  126,    0,    0,    0,    0,    0,    0,  128,
    0,  129,  130,    0,    0,    0,  131,    0,    0,  132,
    0,    0,  134,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  135,  136,    0,    0,    0,    0,  137,    0,
  138,    0,  139,    0,    0,    0,    0,    0,  141,    0,
  142,    0,    0,    0,  143,    0,    0,    0,    0,    0,
    0,    0,  144,    0,    0,    0,  145,  692,    0,  146,
    0,    0,    0,    0,  147,  148,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  149,    0,    0,
    0,  150,  151,  152,  153,  154,    0,  155,    0,    0,
    0,    0,    0,  156,    0,  157,  158,    0,  692,  160,
  161,  692,    0,    0,    0,    0,    0,  162,    0,    0,
  164,  165,  166,  167,    0,  168,  692,  169,  692,  170,
  171,  172,  173,  174,    0,    0,    0,    0,  175,    0,
  176,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  178,    0,    0,    0,    0,  179,  180,  692,  442,
    0,  181,    0,    0,  182,    0,  183,  184,  185,  186,
    0,  187,    0,    0,    0,  677,    0,    0,    0,  188,
  189,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  190,  191,    0,  192,  193,  194,    0,    0,    0,    0,
  195,  196,    0,  197,  198,    0,  199,    0,    0,  200,
  201,  202,  203,  204,  205,  206,  677,    0,    0,  677,
  207,  208,  209,    0,  210,  211,  212,    0,  213,    0,
    0,    0,    0,    0,  677,    0,  677,    0,  214,  215,
  216,  217,  218,  219,  220,  221,  222,  223,  224,  225,
  226,  227,  228,  229,  230,  231,  232,  233,  234,    0,
  235,  236,  237,  238,  239,  240,  677,  241,  242,  243,
  244,    0,  245,    0,  246,  247,  248,  249,  250,  251,
  252,  253,  254,  255,  256,  257,  258,  259,  260,  261,
  262,  263,    0,  264,  265,  266,  267,    0,  268,  269,
  270,  271,  272,    0,  273,  274,  275,  276,  277,  278,
  279,  280,  281,  282,  283,  284,  285,    0,  286,    0,
  287,  288,  289,  290,  291,  692,  292,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  692,    0,    0,  692,  692,    0,    0,    0,  692,    0,
    0,  692,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  692,    0,    0,    0,    0,    0,  692,
    0,    0,  692,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  765,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  692,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  677,    0,    0,    0,  692,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  677,    0,
    0,  677,  677,    0,    0,    0,  677,    0,  692,  677,
    0,    0,    0,    0,  692,    0,    0,    0,  692,    0,
    0,  677,    0,    0,    0,  692,    0,  677,    0,    0,
  677,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  692,    0,    0,    0,    0,  692,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  677,  692,    0,    0,    0,  692,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  677,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  677,    0,    0,    0,
    0,    0,  677,    0,    0,    0,  677,    0,    0,    0,
    0,    0,    0,  677,    0,    0,  115,    0,  116,    0,
    0,    0,    0,    0,  118,    0,    0,  119,  120,    0,
    0,  677,    0,    0,    0,    0,  677,    0,    0,  121,
  122,    0,  123,    0,  124,    0,    0,  125,    0,    0,
  126,    0,    0,    0,    0,    0,  692,  128,    0,  129,
  130,  677,    0,    0,  131,  677,    0,  132,    0,    0,
  134,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  135,  136,    0,    0,    0,    0,  137,    0,  138, 1002,
  139,    0,    0,    0,    0,    0,  141,    0,  142,    0,
    0,    0,  143,    0,    0,    0,    0,    0,    0,    0,
  144,    0,    0,    0,  145,    0,    0,  146,    0,    0,
    0,    0,  147,  148,    0,    0,    0,    0,    0,    0,
 1002,    0,    0, 1002,    0,  149,    0,    0,    0,  150,
  151,  152,  153,  154,    0,  155,    0,    0, 1002,    0,
    0,  156,    0,  157,  158,    0,    0,  160,  161,    0,
    0,    0,    0,    0,  677,  162,    0,    0,  164,  165,
  166,  167,    0,  168,    0,  169,    0,  170,  171,  172,
  173,  174,    0,    0,    0, 1028,  175,    0,  176,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  178,
    0,    0,    0,    0,  179,  180,    0,    0,    0,  181,
    0,    0,  182,    0,  183,  184,  185,  186,    0,  187,
    0,    0,    0,    0,    0,    0, 1028,  188,  189, 1028,
    0,    0,    0,    0,    0,    0,    0,    0,  190,  191,
    0,  192,  193,  194, 1028,    0,    0,    0,  195,  196,
    0,  197,  198,    0,  199,    0,    0,  200,  201,  202,
  203,  204,  205,  206,    0,    0,    0,    0,  207,  208,
  209,    0,  210,  211,  212,    0,  213,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  214,  215,  216,  217,
  218,  219,  220,  221,  222,  223,  224,  225,  226,  227,
  228,  229,  230,  231,  232,  233,  234,    0,  235,  236,
  237,  238,  239,  240,    0,  241,  242,  243,  244,    0,
  245,    0,  246,  247,  248,  249,  250,  251,  252,  253,
  254,  255,  256,  257,  258,  259,  260,  261,  262,  263,
    0,  264,  265,  266,  267, 1005,  268,  269,  270,  271,
  272, 1002,  273,  274,  275,  276,  277,  278,  279,  280,
  281,  282,  283,  284,  285,    0,  286,    0,  287,  288,
  289,  290,  291,    0,  292,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1005,    0,    0, 1005,
 1003,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1002, 1005,    0, 1002,    0,    0,    0,
    0,    0,    0, 1002,    0, 1002,    0,    0,    0, 1002,
    0,    0,    0,    0, 1002,    0,    0, 1002,    0,    0,
    0, 1003,    0,    0, 1003,    0,    0,    0,    0,    0,
    0,    0, 1002,    0,    0,    0,    0, 1028,    0, 1003,
    0,    0,    0,    0,    0, 1002,    0,    0,    0,    0,
    0,    0,    0, 1002,    0,    0, 1002, 1002,    0,    0,
    0,    0,    0,    0,    0,    0, 1002,    0,    0,    0,
    0,    0,    0,    0, 1004,    0,    0,    0,    0,    0,
    0,    0, 1002,    0,    0,    0,    0,    0,    0, 1028,
    0,    0, 1028,    0,    0,    0,    0,    0,    0, 1028,
    0, 1028,    0,    0, 1002, 1028, 1040,    0,    0, 1002,
 1028,    0,    0, 1028,    0, 1004,    0,    0, 1004,    0,
 1002, 1002,    0, 1002,    0,    0,    0,    0, 1028,    0,
    0,    0,    0, 1004,    0,    0,    0,    0,    0,    0,
    0, 1028,    0,    0,    0,    0,    0, 1040,    0, 1028,
 1040,    0, 1028, 1028,    0,    0,    0,    0,    0,    0,
    0,    0, 1028,    0,    0, 1040,    0,    0,    0,    0,
 1002,    0,    0,    0,    0,    0,    0,    0, 1028,    0,
    0,    0,    0,    0,    0,    0,    0, 1002,    0,    0,
    0, 1002,    0,    0,    0,    0,    0, 1005,    0,    0,
 1028,    0,    0,    0,    0, 1028, 1002,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1028, 1028,    0, 1028,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1003,    0,    0,    0,    0,    0,    0, 1005,
    0,    0, 1005,    0,    0,    0,    0,    0,    0, 1005,
    0, 1005,    0,    0,  998, 1005, 1028,    0,    0,    0,
 1005,    0,    0, 1005,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1028,    0,    0,    0, 1028, 1005,    0,
    0,    0,    0,    0, 1003,    0,  999, 1003,    0,    0,
    0, 1005, 1028,    0, 1003,  998, 1003,    0,  998, 1005,
 1003,    0, 1005, 1005,    0, 1003,    0,    0, 1003,    0,
    0,    0, 1005,  998,    0,    0,    0,    0,    0,    0,
    0,    0,    0, 1003,    0,    0, 1004,  999, 1005,    0,
  999,    0,    0,    0,    0,    0, 1003,    0,    0,    0,
    0,    0,    0,    0, 1003,  999,    0, 1003, 1003,    0,
 1005,    0,    0,    0,    0, 1005,    0, 1003, 1040,    0,
    0,    0,    0,    0,    0,    0, 1005, 1005,    0, 1005,
    0,    0,    0, 1003,    0,    0,    0,    0, 1004,    0,
 1000, 1004,    0,    0,    0,    0,    0,    0, 1004,    0,
 1004,    0,    0,    0, 1004, 1003,    0,    0,    0, 1004,
 1003,    0, 1004,    0,    0,    0,    0,    0,    0,    0,
 1040, 1003, 1003, 1040, 1003,    0, 1005, 1004,    0,    0,
 1040, 1000, 1040,    0, 1000, 1035, 1040,    0,    0,    0,
 1004, 1040,    0, 1005, 1040,    0,    0, 1005, 1004, 1000,
    0, 1004, 1004,    0,    0,    0,    0,    0,    0, 1040,
    0, 1004, 1005,    0,    0,    0,    0,    0,    0,    0,
    0, 1003, 1040,    0,    0,    0, 1035, 1004,    0, 1035,
 1040,    0,    0, 1040, 1040,    0,    0,    0, 1003,    0,
    0,    0, 1003, 1040, 1035,    0,    0,    0,    0, 1004,
    0,    0,    0,    0, 1004,    0,    0, 1003,    0, 1040,
    0,    0,    0,    0,    0, 1004, 1004,    0, 1004,    0,
    0,    0,    0,    0,    0,    0,  998,    0,    0,    0,
    0, 1040,    0, 1029,    0,    0, 1040,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1040, 1040,    0,
 1040,    0,    0,    0,    0,    0,    0,    0,  999,    0,
    0,    0,    0,    0,    0, 1004,    0,    0,    0,    0,
    0,    0,    0,    0, 1029,    0,    0, 1029,  998,    0,
    0,  998, 1004,    0,    0,    0, 1004,    0,  998,    0,
  998,    0, 1029,    0,  998,    0,    0, 1040,    0,  998,
    0, 1004,  998,    0,    0,    0,    0,    0,    0,    0,
  999,    0,    0,  999, 1040,    0,    0,  998, 1040,    0,
  999,    0,  999,    0,    0,    0,  999,    0,    0,    0,
  998,  999,    0, 1040,  999,    0,    0,    0,  998,    0,
    0,  998,  998, 1041,    0,    0,    0,    0,    0,  999,
    0,  998, 1000,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  999,    0,    0,    0,    0,  998,    0,    0,
  999,    0,    0,  999,  999,    0,    0,    0,    0,    0,
    0,    0,    0,  999, 1041,    0,    0, 1041,    0,  998,
    0,    0,    0,    0,  998,    0,    0, 1035,    0,  999,
    0,  859, 1041,    0, 1000,  998,  998, 1000,  998,    0,
    0,    0,    0,    0, 1000,    0, 1000,    0,    0,    0,
 1000,  999,    0,    0,    0, 1000,  999,    0, 1000,    0,
    0,    0,    0,    0,    0,    0,    0,  999,  999, 1042,
  999,    0,  859, 1000,    0,  859,    0,    0,    0, 1035,
    0,    0, 1035,    0,    0,  998, 1000,    0,    0, 1035,
  859, 1035,    0,    0, 1000, 1035,    0, 1000, 1000,    0,
 1035,    0,  998, 1035,    0,    0,  998, 1000,    0,    0,
 1042,    0,    0, 1042,    0,    0,    0,  999, 1035,    0,
    0,  998,    0, 1000,    0, 1029,    0,    0, 1042,    0,
    0, 1035,    0,    0,  999,    0,    0,    0,  999, 1035,
    0,    0, 1035, 1035,    0, 1000,    0,    0,    0,    0,
 1000,    0, 1035,  999,    0,    0,    0,    0,    0,    0,
    0, 1000, 1000,    0, 1000,    0,    0,    0, 1035,    0,
    0,    0,    0,    0,    0,    0,    0, 1029,    0, 1036,
 1029,    0,    0,    0,    0,    0,    0, 1029,    0, 1029,
 1035,    0,    0, 1029,    0, 1035,    0,    0, 1029,    0,
    0, 1029,    0,    0,    0,    0, 1035, 1035,    0, 1035,
    0, 1000,    0,    0,    0,    0, 1029,    0,    0,    0,
 1036,    0,    0, 1036,    0,    0,    0,    0, 1000, 1029,
    0,    0, 1000,    0,    0, 1041,    0, 1029, 1036,    0,
 1029, 1029,    0,    0,    0,    0,    0, 1000,    0,    0,
 1029,    0,    0,    0,    0,    0, 1035,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1029,    0,    0,    0,
    0,    0,    0, 1035,    0, 1026,    0, 1035,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1041, 1029,    0,
 1041,    0, 1035, 1029,    0,    0,    0, 1041,    0, 1041,
    0,    0,    0, 1041, 1029, 1029,    0, 1029, 1041,    0,
    0, 1041,    0,    0,    0,    0, 1026,    0,    0, 1026,
    0,    0,    0,    0,    0,    0, 1041,    0,    0,    0,
    0, 1042,    0, 1024, 1026,    0,    0,    0,    0, 1041,
    0,    0,    0,    0,    0,  859,    0, 1041,  859,    0,
 1041, 1041,    0,    0, 1029,  859,    0,  859,    0,    0,
 1041,  859,    0,    0,    0,    0,  859,    0,    0,  859,
    0, 1029,    0,    0, 1024, 1029, 1041, 1024,    0,    0,
    0,    0,    0, 1042,  859,    0, 1042,    0,    0,    0,
 1029,    0, 1024, 1042,    0, 1042,    0,  859, 1041, 1042,
    0,    0,    0, 1041, 1042,  859,    0, 1042,    0,  859,
    0,    0,    0,    0, 1041, 1041,    0, 1041,  859,    0,
    0,    0, 1042,    0,    0,    0,    0, 1030,    0,    0,
    0,    0,    0,    0,  859, 1042,    0,    0,    0,    0,
    0, 1036,    0, 1042,    0,    0, 1042, 1042,    0,    0,
    0,    0,    0,    0,    0,    0, 1042,    0,    0,    0,
    0,  859,    0,    0, 1041,    0,    0,    0, 1030,    0,
    0, 1030, 1042,  859,    0,  859,    0,    0,    0,    0,
    0, 1041,    0,    0,    0, 1041, 1030,    0,    0,    0,
    0,    0,    0, 1036, 1042,    0, 1036,    0,    0, 1042,
 1041,    0,    0, 1036,    0, 1036,    0,    0, 1043, 1036,
 1042, 1042,    0, 1042, 1036,    0,    0, 1036,    0,    0,
    0,    0,  859,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1036,    0,    0,    0,    0, 1026,    0,  859,
    0,    0,    0,  859,    0, 1036,    0,    0,    0, 1043,
    0,    0, 1043, 1036,    0,    0, 1036, 1036,  859,    0,
 1042,    0,    0,    0,    0,    0, 1036, 1043,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1042,    0,    0,
    0, 1042, 1036,    0,    0,    0,    0,    0,    0, 1026,
    0,    0, 1026,    0,    0, 1024, 1042,    0,    0, 1026,
    0, 1026, 1037,    0, 1036, 1026,    0,    0,    0, 1036,
 1026,    0,    0, 1026,    0,    0,    0,    0,    0,    0,
 1036, 1036,    0, 1036,    0,    0,    0,    0, 1026,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1026,    0, 1037,    0,    0, 1037, 1024,    0, 1026,
 1024,    0, 1026, 1026,    0,    0,    0, 1024,    0, 1024,
    0, 1037, 1026, 1024,    0,    0,    0,    0, 1024,    0,
 1036, 1024,    0,    0,    0,    0,    0,    0, 1026,    0,
    0,    0,    0, 1025,    0,    0, 1024, 1036,    0, 1030,
    0, 1036,    0,    0,    0,    0,    0,    0,    0, 1024,
 1026,    0,    0,    0,    0, 1026, 1036, 1024,    0,    0,
 1024, 1024,    0,    0,    0,    0, 1026, 1026,    0, 1026,
 1024,    0,    0,    0, 1025,    0,    0, 1025,    0,    0,
    0,    0,    0,    0,    0,    0, 1024,    0,    0,    0,
    0, 1030, 1025,    0, 1030,    0,    0,    0,    0,    0,
    0, 1030,    0, 1030,    0,    0,    0, 1030, 1024,    0,
    0,    0, 1030, 1024,    0, 1030, 1026,    0,    0,    0,
 1043,    0,    0,    0, 1024, 1024,    0, 1024,    0,    0,
 1030,    0,    0, 1026,    0,    0,    0, 1026,    0,    0,
    0,    0,    0, 1030,    0,    0,    0,    0,    0,    0,
    0, 1030, 1026,    0, 1030, 1030, 1027,    0,    0,    0,
    0,    0,    0,    0, 1030,    0,    0,    0,    0,    0,
    0,    0, 1043,    0, 1024, 1043,    0,    0,    0,    0,
 1030,    0, 1043,    0, 1043,    0,    0,    0, 1043,    0,
    0, 1024,    0, 1043,    0, 1024, 1043, 1027,    0,    0,
 1027,    0, 1030,    0,    0,    0,    0, 1030,    0,    0,
 1024, 1043,    0,    0, 1037, 1027,    0,    0, 1030, 1030,
    0, 1030,    0,    0, 1043,    0,    0,    0,    0,    0,
    0,    0, 1043,    0,    0, 1043, 1043,    0,    0,    0,
    0,    0,    0,    0,    0, 1043,    0,    0,    0,    0,
 1031,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1043,    0,    0,    0,    0, 1037,    0, 1030, 1037,
    0,    0,    0,    0,    0,    0, 1037,    0, 1037,    0,
    0,    0, 1037, 1043,    0, 1030,    0, 1037, 1043, 1030,
 1037, 1031,    0,    0, 1031, 1025,    0,    0,    0, 1043,
 1043,    0, 1043,    0, 1030, 1037,    0,    0,    0, 1031,
    0,    0,    0,    0,    0,    0,    0,    0, 1037,    0,
    0,    0,    0,    0,    0,    0, 1037,    0,    0, 1037,
 1037, 1038,    0,    0,    0,    0,    0,    0,    0, 1037,
    0,    0,    0,    0,    0,    0,    0, 1025,    0, 1043,
 1025,    0,    0,    0,    0, 1037,    0, 1025,    0, 1025,
    0,    0,    0, 1025,    0,    0, 1043,    0, 1025,    0,
 1043, 1025, 1038,    0,    0, 1038,    0, 1037,    0,    0,
    0,    0, 1037,    0,    0, 1043, 1025,    0,    0, 1039,
 1038,    0,    0, 1037, 1037,    0, 1037,    0,    0, 1025,
    0,    0,    0,    0,    0,    0,    0, 1025,    0,    0,
 1025, 1025,    0,    0,    0,    0,    0,    0, 1027,    0,
 1025,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1039,    0,    0, 1039,    0,    0, 1025,    0,    0,    0,
    0,    0,    0, 1037,    0,    0,    0,    0, 1039,    0,
    0,    0,    0,    0,    0,    0,    0,    0, 1025,    0,
 1037,    0,    0, 1025, 1037,    0,    0,    0,    0,    0,
 1027,    0,    0, 1027, 1025, 1025,    0, 1025,    0, 1037,
 1027,    0, 1027,    0,    0,  846, 1027,    0,    0,    0,
    0, 1027,    0,    0, 1027,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1027,
    0,    0, 1031,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1027,    0, 1025,  846,  846,    0,    0,  846,
 1027,    0,    0, 1027, 1027,    0,    0,    0,    0,    0,
    0, 1025,    0, 1027,  846, 1025,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1027,
 1025,    0,    0,    0, 1031,    0,    0, 1031,    0,    0,
    0,    0,    0,    0, 1031,    0, 1031,    0,    0,    0,
 1031, 1027,    0,    0,    0, 1031, 1027,    0, 1031,    0,
    0,    0,    0, 1038,    0,    0,    0, 1027, 1027,    0,
 1027,    0,    0, 1031,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1031,    0,    0,    0,
    0,    0,    0,    0, 1031,    0,    0, 1031, 1031,    0,
    0,    0,    0,    0,    0,    0,    0, 1031,    0,    0,
    0,    0,    0,    0,    0, 1038,    0, 1027, 1038,    0,
    0, 1039,    0, 1031,    0, 1038,    0, 1038,    0,    0,
    0, 1038,    0,    0, 1027,    0, 1038,    0, 1027, 1038,
    0,    0,    0,    0,    0, 1031,    0,    0,    0,    0,
 1031,    0,    0, 1027, 1038,    0,    0,    0,    0,    0,
    0, 1031, 1031,    0, 1031,    0,    0, 1038,    0,    0,
    0,    0,    0, 1039,    0, 1038, 1039,    0, 1038, 1038,
    0,    0,    0, 1039,    0, 1039,    0,    0, 1038, 1039,
    0,    0,    0,    0, 1039,    0,    0, 1039,    0,    0,
    0,    0,    0,    0, 1038,    0,    0,    0,    0,    0,
    0, 1031, 1039,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1039, 1038,    0, 1031,    0,
    0, 1038, 1031, 1039,    0,    0, 1039, 1039,    0,    0,
    0,    0, 1038, 1038,    0, 1038, 1039, 1031,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, 1039,    0,    0,    0,    0,    0,    0,  846,
    0,    0,  846,    0,    0,    0,    0,    0,    0,  846,
    0,  846,    0,    0, 1039,  846,    0,    0,    0, 1039,
  846,    0, 1038,  846,    0,    0,    0,    0,    0,    0,
 1039, 1039,    0, 1039,    0,    0,    0,    0,  846, 1038,
    0,    0,    0, 1038,    0,    0,    0,    0,    0,    0,
    0,  846,    0,    0,    0,    0,    0,    0, 1038,  846,
    0,    0,    0,  846,    0,    0,    0,    0,    0,    0,
    0,    0,  846,    0,    0,    0,    0,    0,    0,    0,
 1039,    0,    0,    0,    0,    0,    0,    0,  846,    0,
    0,    0,    0,    0,    0,    0,    0, 1039,    0,    0,
  115, 1039,  116,    0,    0,    0,    0,    0,  118,    0,
    0,  119,  120,    0,    0,  846, 1039,    0,    0,    0,
    0,    0,    0,  121,  122,    0,  123,  846,  124,  846,
    0,  125,    0,    0,  126,    0,    0,    0,    0,    0,
    0,  128,    0,  129,  130,    0,    0,    0,  131,    0,
    0,  132,    0,    0,  134,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  135,  136,    0,    0,    0,    0,
  137,    0,  138,    0,  139,    0,  846,    0,    0,    0,
  141,    0,  142,    0,    0,    0,  143,    0,    0,    0,
    0,    0,    0,  846,  144,    0,    0,  846,  145,    0,
    0,  146,    0,    0,    0,    0,  147,  148,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  149,
    0,    0,    0,  150,  151,  152,  153,  154,    0,  155,
    0,    0,    0,    0,    0,  156,    0,  157,  158,    0,
    0,  160,  161,    0,    0,    0,    0,    0,    0,  162,
    0,    0,  164,  165,  166,  167,    0,  168,    0,  169,
    0,  170,  171,  172,  173,  174,    0,    0,    0,    0,
  175,    0,  176,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  178,    0,    0,    0,    0,  179,  180,
    0,    0,    0,  181,    0,    0,  182,  345,  183,  184,
  185,  186,  346,  187,  347,  348,  349,  350,  351,  352,
  353,  188,  189,  354,  355,  356,  357,  358,    0,    0,
  359,  360,  190,  191,  361,  192,  193,  194,  362,  363,
  364,  365,  195,  196,  366,  197,  198,  367,  199,  368,
  369,  200,  201,  202,  203,  204,  205,  206,  370,  371,
  372,  373,  207,  208,  209,  374,  210,  211,  212,  375,
  213,  376,  377,  378,  379,  380,  381,  382,  383,  384,
  214,  215,  216,  217,  218,  219,  220,  221,  222,  223,
  224,  225,  226,  227,  228,  229,  230,  231,  232,  233,
  234,  385,  235,  236,  237,  238,  239,  240,  386,  241,
  242,  243,  244,  387,  245,  388,  246,  247,  248,  249,
  250,  251,  252,  253,  254,  255,  256,  257,  258,  259,
  260,  261,  262,  263,  389,  264,  265,  266,  267,  390,
  268,  269,  270,  271,  272,  391,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,  283,  284,  285,  392,
  286,    0,  287,  288,  289,  290,  291,    0,  292,  393,
  585,    0,  585,    0,    0,    0,    0,    0,  585,    0,
    0,  585,  585,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  585,  585,    0,  585,    0,  585,    0,
    0,  585,    0,    0,  585,    0,    0,    0,    0,    0,
    0,  585,    0,  585,  585,    0,    0,    0,  585,    0,
    0,  585,    0,    0,  585,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  585,  585,    0,    0,    0,    0,
  585,    0,  585,    0,  585,    0,    0,    0,    0,    0,
  585,    0,  585,    0,    0,    0,  585,    0,    0,    0,
    0,    0,    0,    0,  585,    0,    0,    0,  585,    0,
    0,  585,    0,    0,    0,    0,  585,  585,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  585,
    0,    0,    0,  585,  585,  585,  585,  585,    0,  585,
    0,    0,    0,    0,    0,  585,    0,  585,  585,    0,
    0,  585,  585,    0,    0,    0,    0,    0,    0,  585,
    0,    0,  585,  585,  585,  585,    0,  585,    0,  585,
    0,  585,  585,  585,  585,  585,    0,    0,    0,    0,
  585,    0,  585,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  585,    0,    0,    0,    0,  585,  585,
    0,    0,    0,  585,    0,    0,  585,  585,  585,  585,
  585,  585,    0,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,    0,    0,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
  585,    0,  585,  585,  585,  585,  585,    0,  585,  585,
  403,    0,  403,    0,    0,    0,    0,    0,  403,    0,
    0,  403,  403,  403,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  403,  403,    0,  403,    0,  403,    0,
    0,  403,    0,    0,  403,    0,    0,    0,    0,    0,
  403,  403,    0,  403,  403,    0,    0,  403,  403,    0,
    0,  403,  403,    0,  403,    0,    0,  403,    0,    0,
    0,    0,    0,    0,  403,  403,    0,    0,    0,    0,
  403,  403,  403,    0,  403,    0,  403,    0,    0,    0,
  403,    0,  403,    0,    0,    0,  403,    0,    0,    0,
    0,    0,  403,    0,  403,    0,  403,    0,  403,    0,
    0,  403,    0,    0,  403,    0,  403,  403,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  403,
    0,    0,    0,  403,  403,  403,  403,  403,    0,  403,
    0,  403,  403,    0,    0,  403,    0,  403,  403,    0,
    0,  403,  403,    0,    0,    0,  403,    0,    0,  403,
  403,    0,  403,  403,  403,  403,    0,  403,    0,  403,
    0,  403,  403,  403,  403,  403,    0,    0,    0,    0,
  403,    0,  403,    0,    0,  403,    0,    0,    0,    0,
    0,    0,    0,  403,  403,    0,  403,  403,  403,  403,
    0,    0,    0,  403,    0,    0,  403,    0,  403,  403,
  403,  403,    0,  403,  403,    0,    0,    0,    0,    0,
    0,  403,  403,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  403,  403,    0,  403,  403,  403,    0,    0,
    0,    0,  403,  403,    0,  403,  403,    0,  403,    0,
    0,  403,  403,  403,  403,  403,  403,  403,  403,  403,
  403,    0,  403,  403,  403,    0,  403,  403,  403,    0,
  403,    0,  403,  403,  403,    0,  403,  403,    0,  403,
  403,  403,  403,  403,  403,  403,  403,  403,  403,  403,
  403,  403,  403,  403,  403,  403,  403,  403,  403,  403,
  403,    0,  403,  403,  403,  403,  403,  403,    0,  403,
  403,  403,  403,    0,  403,    0,  403,  403,  403,  403,
  403,  403,  403,  403,  403,  403,  403,  403,  403,  403,
  403,  403,  403,  403,    0,  403,  403,  403,  403,    0,
  403,  403,  403,  403,  403,    0,  403,  403,  403,  403,
  403,  403,  403,  403,  403,  403,  403,  403,  403,  342,
  403,  342,  403,  403,  403,  403,  403,  342,  403,    0,
  342,  342,  342,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  342,  342,    0,  342,    0,  342,    0,    0,
  342,    0,    0,  342,    0,    0,    0,    0,    0,  342,
  342,    0,  342,  342,    0,    0,  337,  342,    0,    0,
  342,  342,    0,  342,    0,    0,  342,    0,    0,    0,
    0,    0,    0,  342,  342,    0,    0,    0,    0,  342,
  342,  342,    0,  342,    0,  342,    0,    0,    0,  342,
    0,  342,    0,    0,    0,  342,    0,    0,    0,    0,
    0,  342,    0,  342,    0,  342,    0,  342,    0,    0,
  342,    0,    0,  342,    0,  342,  342,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  342,    0,
    0,    0,  342,  342,  342,  342,  342,    0,  342,    0,
  342,  342,    0,    0,  342,    0,  342,  342,    0,    0,
  342,  342,    0,    0,    0,  342,    0,    0,  342,  342,
    0,  342,  342,  342,  342,    0,  342,    0,  342,    0,
  342,  342,  342,  342,  342,    0,    0,    0,    0,  342,
    0,  342,    0,    0,  342,    0,    0,    0,    0,    0,
    0,    0,  342,    0,    0,  342,  342,  342,  342,    0,
    0,    0,  342,    0,    0,  342,    0,  342,  342,  342,
  342,    0,  342,  342,    0,    0,    0,    0,    0,    0,
  342,  342,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  342,  342,    0,  342,  342,  342,    0,    0,    0,
    0,  342,  342,    0,  342,  342,    0,  342,    0,    0,
  342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
    0,  342,  342,  342,    0,  342,  342,  342,    0,  342,
    0,  342,  342,  342,    0,  342,  342,    0,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
    0,  342,  342,  342,  342,  342,  342,    0,  342,  342,
  342,  342,    0,  342,    0,  342,  342,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  342,  342,  342,    0,  342,  342,  342,  342,    0,  342,
  342,  342,  342,  342,    0,  342,  342,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,    0,  342,
  342,  342,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  342,  342,    0,  342,    0,  342,    0,    0,  342,
    0,    0,  342,    0,    0,    0,    0,    0,  342,  342,
    0,  342,  342,    0,    0,  335,  342,    0,    0,  342,
  342,    0,  342,    0,    0,  342,    0,    0,    0,    0,
    0,    0,  342,  342,    0,    0,    0,    0,  342,  342,
  342,    0,  342,    0,  342,    0,    0,    0,  342,    0,
  342,    0,    0,    0,  342,    0,    0,    0,    0,    0,
  342,    0,  342,    0,  342,    0,  342,    0,    0,  342,
    0,    0,  342,    0,  342,  342,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  342,    0,    0,
    0,  342,  342,  342,  342,  342,    0,  342,    0,  342,
  342,    0,    0,  342,    0,  342,  342,    0,    0,  342,
  342,    0,    0,    0,  342,    0,    0,  342,  342,    0,
  342,  342,  342,  342,    0,  342,    0,  342,    0,  342,
  342,  342,  342,  342,    0,    0,    0,    0,  342,    0,
  342,    0,    0,  342,    0,    0,    0,    0,    0,    0,
    0,  342,    0,    0,  342,  342,  342,  342,    0,    0,
    0,  342,    0,    0,  342,    0,  342,  342,  342,  342,
    0,  342,  342,    0,    0,    0,    0,    0,    0,  342,
  342,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  342,  342,    0,  342,  342,  342,    0,    0,    0,    0,
  342,  342,    0,  342,  342,    0,  342,    0,    0,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,    0,
  342,  342,  342,    0,  342,  342,  342,    0,  342,    0,
  342,  342,  342,    0,  342,  342,    0,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,    0,
  342,  342,  342,  342,  342,  342,    0,  342,  342,  342,
  342,    0,  342,    0,  342,  342,  342,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
  342,  342,    0,  342,  342,  342,  342,    0,  342,  342,
  342,  342,  342,    0,  342,  342,  342,  342,  342,  342,
  342,  342,  342,  342,  342,  342,  342,  115,  342,  116,
  342,  342,  342,  342,  342,  118,  342,    0,  119,  120,
 2217,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,    0,    0,  125,    0,
    0,  126,    0,    0,    0,    0,    0,    5,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0, 2427, 2428,
    0, 2429,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  135,  136,    0,    0,    0,    0, 2430, 2431,  138,
    0,  139,    0, 2432,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,    0,    0,  673,
    0,  144,    0,  675,    0,  145,    0,    0,  146,    0,
    0,   10,    0,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,  678, 2433,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,  679,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0,  169,    0,  170,  171,
  172,  173, 2434,    0,    0,    0,    0,  175,    0,  176,
    0,    0,   15,    0,    0,    0,    0,    0,    0,    0,
  178,    0,    0,    0,   16,  179,  180,    0,    0,    0,
  686,    0,    0,  182,    0,  183,  184,  185,  186,    0,
  187,  687,    0,    0,    0,    0,    0,    0,  188,  189,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 2435,
  697,    0,  192,  193,  194,    0,    0,    0,    0,  195,
  196,    0,  197,  198,    0,  199,    0,    0,  200, 2436,
  202,  203,  204,  205,  206, 2437, 2438, 2439,    0,  207,
  208,  209,    0,  210,  211,  212,    0,  213,    0,  706,
  707,  708,    0,  709,  710,    0,  711,  214,  215,  216,
  217,  218,  219,  712,  221,  713,  223,  714,  715,  716,
  717,  718,  719,  720,  721,  722,  723,  724,    0,  725,
  726,  727,  728,  729,  240,    0,  731,  732,  733,  244,
    0,  734,    0,  246,  736,  737,  738,  739,  251,  252,
  740,  254,  741,  742,  743,  258,  744,  260,  745,  262,
  746,    0,  747,  748,  749,  750,    0,  751,  752,  753,
  271,  754,    0,  755,  756,  275,  757,  277,  278,  758,
  280,  281,  282,  283,  284,  285, 1292,  759, 1292,  287,
  288,  289,  290,  291, 1292,  760,    0, 1292, 1292,    0,
    0, 1292,    0,    0, 1292,    0,    0,    0,    0, 1292,
 1292,    0, 1292,    0, 1292,    0,    0, 1292,    0, 1294,
 1292, 1292,    0, 1292,    0,    0,    0, 1292,    0, 1292,
 1292,    0,    0,    0, 1292,    0,    0, 1292,    0,    0,
 1292,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1292, 1292,    0,    0,    0,    0, 1292,    0, 1292,    0,
 1292,    0,    0, 1292,    0,    0, 1292,    0, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1292,    0, 1292,    0,    0,
 1292,    0,    0,    0, 1292,    0,    0, 1292,    0,    0,
    0,    0, 1292, 1292, 1292,    0, 1292,    0,    0,    0,
    0,    0,    0,    0,    0, 1292,    0,    0,    0, 1292,
 1292, 1292, 1292, 1292,    0, 1292,    0,    0,    0,    0,
    0, 1292,    0, 1292, 1292, 1292,    0, 1292, 1292,    0,
    0,    0,    0,    0,    0, 1292,    0,    0, 1292, 1292,
 1292, 1292, 1292, 1292,    0, 1292,    0, 1292, 1292, 1292,
 1292, 1292,    0,    0,    0,    0, 1292,    0, 1292,    0,
    0,    0,    0,    0, 1292,    0,    0,    0,    0, 1292,
    0,    0,    0,    0, 1292, 1292,    0,    0,    0, 1292,
    0,    0, 1292,    0, 1292, 1292, 1292, 1292,    0, 1292,
    0,    0,    0,    0,    0,    0,    0, 1292, 1292, 1292,
 1292,    0,    0,    0,    0,    0,    0,    0, 1292, 1292,
    0, 1292, 1292, 1292,    0,    0, 1292,    0, 1292, 1292,
    0, 1292, 1292,    0, 1292,    0,    0, 1292, 1292, 1292,
 1292, 1292, 1292, 1292,    0,    0,    0,    0, 1292, 1292,
 1292,    0, 1292, 1292, 1292,    0, 1292,    0,    0,    0,
    0,    0,    0,    0,    0,    0, 1292, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1292, 1292,    0, 1292, 1292,
 1292, 1292, 1292, 1292,    0, 1292, 1292, 1292, 1292,    0,
 1292,    0, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
    0, 1292, 1292, 1292, 1292,    0, 1292, 1292, 1292, 1292,
 1292,    0, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
 1292, 1292, 1292, 1292, 1292,  115, 1292,  116, 1292, 1292,
 1292, 1292, 1292,  118, 1292,    0,  119,  120,    0,    0,
  973,    0,    0,  974,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,    0,    0,  125,    0,    0,  126,
  975,    0,  976,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0,    0,  134,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  135,
  136,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,  977,    0,    0,  141,    0,  142,  978,  979,
  980,  143,  981,  982,  983,    0,  984,    0,    0,  144,
    0,    0,    0,  145,    0,    0,  146,    0,    0,    0,
    0,  147,  148,  985,    0,  986,    0,    0,    0,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,    0,    0,    0,    0,
  156,    0,  157,  158,  987,    0,  160,  161,    0,    0,
    0,    0,    0,    0,  162,    0,    0,  164,  165,  166,
  167,  988,  168,    0,  169,    0,  170,  171,  172,  173,
  174,    0,    0,    0,    0,  175,    0,  176,    0,    0,
    0,    0,    0,  989,    0,    0,    0,    0,  178,    0,
    0,    0,    0,  179,  180,    0,    0,    0,  181,    0,
    0,  182,    0,  183,  184,  185,  186,    0, 1125,    0,
    0,    0,    0,    0,    0,    0,  188,  189,  990,  991,
    0,    0,    0,    0,    0,    0,    0,  190,  191,    0,
  192,  193,  194,    0,    0,  992,    0,  195,  196,    0,
  197,  198,    0,  199,    0,    0,  200,  201,  202,  203,
  204,  205,  206,    0,    0,    0,    0,  207,  208,  209,
    0,  210,  211,  212,    0,  213,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  214,  215,  216,  217,  218,
  219,  220,  221,  222,  223,  224,  225,  226,  227,  228,
  229,  230,  231,  232,  233,  234,    0,  235,  236,  237,
  238,  239,  240,    0,  241,  242,  243,  244,    0,  245,
    0,  246,  247,  248,  249,  250,  251,  252,  253,  254,
  255,  256,  257,  258,  259,  260,  261,  262,  263,    0,
  264,  265,  266,  267,    0,  268,  269,  270,  271,  272,
    0,  273,  274,  275,  276,  277,  278,  279,  280,  281,
  282,  283,  284,  285,  115,  286,  116,  287,  288,  289,
  290,  291,  118,  292,    0,  119,  120,    0,    0,  973,
    0,    0,  974,    0,    0,    0,    0,  121, 1240,    0,
  123,    0,  124,    0,    0,  125,    0,    0,  126,  975,
    0,  976,    0,    0,    0,  128,    0,  129,  130,    0,
    0,    0,  131,    0,    0,  132,    0,    0,  134,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  135,  136,
    0,    0,    0,    0,  137,    0,  138,    0,  139,    0,
    0,  977,    0,    0,  141,    0,  142,  978,  979,  980,
  143,  981,  982,  983,    0,  984,    0,    0,  144,    0,
    0,    0,  145,    0,    0,  146,    0,    0,    0,    0,
  147,  148,  985,    0,  986,    0,    0,    0,    0,    0,
    0,    0,    0,  149,    0,    0,    0,  150,  151,  152,
  153,  154,    0,  155,    0,    0,    0,    0,    0,  156,
    0,  157,  158,  987,    0,  160,  161,    0,    0,    0,
    0,    0,    0,  162,    0,    0,  164,  165,  166,  167,
  988,  168,    0,  169,    0,  170,  171,  172,  173,  174,
    0,    0,    0,    0,  175,    0,  176,    0,    0,    0,
    0,    0,  989,    0,    0,    0,    0,  178,    0,    0,
    0,    0,  179,  180,    0,    0,    0,  181,    0,    0,
  182,    0,  183,  184,  185,  186,    0,  187,    0,    0,
    0,    0,    0,    0,    0,  188,  189,  990,  991,    0,
    0,    0,    0,    0,    0,    0,  190,  191,    0,  192,
  193,  194,    0,    0,  992,    0,  195,  196,    0,  197,
  198,    0,  199,    0,    0,  200,  201,  202,  203,  204,
  205,  206,    0,    0,    0,    0,  207,  208,  209,    0,
  210,  211,  212,    0,  213,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  214,  215,  216,  217,  218,  219,
  220,  221,  222,  223,  224,  225,  226,  227,  228,  229,
  230,  231,  232,  233,  234,    0,  235,  236,  237,  238,
  239,  240,    0,  241,  242,  243, 1241,    0,  245,    0,
  246,  247,  248,  249,  250,  251,  252,  253,  254,  255,
  256,  257,  258,  259,  260,  261,  262,  263,    0,  264,
  265,  266,  267,    0,  268,  269,  270,  271,  272,    0,
  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,
  283,  284,  285,  115,  286,  116,  287,  288,  289,  290,
  291,  118,  292,    0,  119,  120,    0,    0,  973,    0,
    0,  974,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,    0,    0,  125,    0,    0,  126,  975,    0,
  976,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  135,  136,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
  977,    0,    0,  141,    0,  142,  978,  979,  980,  143,
  981,  982,  983,    0,  984,    0,    0,  144,    0,    0,
    0,  145,    0,    0,  146,    0,    0,    0,    0,  147,
  148,  985,    0,  986,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,    0,    0,    0,    0,  156,    0,
  157,  158,  987,    0,  160,  161,    0,    0,    0,    0,
    0,    0,  162,    0,    0,  164,  165,  166,  167,  988,
  168,    0,  169,    0,  170,  171,  172,  173,  174,    0,
    0,    0,    0,  175,    0,  176,    0,    0,    0,    0,
    0,  989,    0,    0,    0,    0,  178,    0,    0,    0,
    0,  179,  180,    0,    0,    0,  181,    0,    0,  182,
    0,  183,  184,  185,  186,    0,  187,    0,    0,    0,
    0,    0,    0,    0,  188,  189,  990,  991,    0,    0,
    0,    0,    0,    0,    0,  190,  191,    0,  192,  193,
  194,    0,    0,  992,    0,  195,  196,    0,  197,  198,
    0,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  208,  209,    0,  210,
  211,  212,    0,  213,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  214,  215,  216,  217,  218,  219,  220,
  221,  222,  223,  224,  225,  226,  227,  228,  229,  230,
  231,  232,  233,  234,    0,  235,  236,  237,  238,  239,
  240,    0,  241,  242,  243,  244,    0,  245,    0,  246,
  247,  248,  249,  250,  251,  252,  253,  254,  255,  256,
  257,  258,  259,  260,  261,  262,  263,    0,  264,  265,
  266,  267,    0,  268,  269,  270,  271,  272,    0,  273,
  274,  275,  276,  277,  278,  279,  280,  281,  282,  283,
  284,  285,    0,  286,    0,  287,  288,  289,  290,  291,
  115,  292,  116,  117,    0,    0,    0,    0,  118,    0,
    0,  119,  120,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  121,  122,    0,  123,    0,  124,    0,
    0,  125,    0,    0,  126,    0,    0,    0,    0,    0,
  127,  128,    0,  129,  130,    0,    0,    0,  131,    0,
    0,  132,  133,    0,  134,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  135,  136,    0,    0,    0,    0,
  137,    0,  138,    0,  139,    0,  140,    0,    0,    0,
  141,    0,  142,    0,    0,    0,  143,    0,    0,    0,
    0,    0,    0,    0,  144,    0,    0,    0,  145,    0,
    0,  146,    0,    0,    0,    0,  147,  148,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  149,
    0,    0,    0,  150,  151,  152,  153,  154,    0,  155,
    0,    0,    0,    0,    0,  156,    0,  157,  158,    0,
  159,  160,  161,    0,    0,    0,    0,    0,    0,  162,
  163,    0,  164,  165,  166,  167,    0,  168,    0,  169,
    0,  170,  171,  172,  173,  174,    0,    0,    0,    0,
  175,    0,  176,    0,    0,  177,    0,    0,    0,    0,
    0,    0,    0,  178,    0,    0,    0,    0,  179,  180,
    0,    0,    0,  181,    0,    0,  182,    0,  183,  184,
  185,  186,    0,  187,    0,    0,    0,    0,    0,    0,
    0,  188,  189,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  190,  191,    0,  192,  193,  194,    0,    0,
    0,    0,  195,  196,    0,  197,  198,    0,  199,    0,
    0,  200,  201,  202,  203,  204,  205,  206,    0,    0,
    0,    0,  207,  208,  209,    0,  210,  211,  212,    0,
  213,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  214,  215,  216,  217,  218,  219,  220,  221,  222,  223,
  224,  225,  226,  227,  228,  229,  230,  231,  232,  233,
  234,    0,  235,  236,  237,  238,  239,  240,    0,  241,
  242,  243,  244,    0,  245,    0,  246,  247,  248,  249,
  250,  251,  252,  253,  254,  255,  256,  257,  258,  259,
  260,  261,  262,  263,    0,  264,  265,  266,  267,    0,
  268,  269,  270,  271,  272,    0,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,  283,  284,  285,   59,
  286,   59,  287,  288,  289,  290,  291,   59,  292,    0,
   59,   59,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,   59,   59,    0,   59,    0,   59,    0,    0,
   59,    0,    0,   59,    0,    0,    0,    0,    0,   57,
   59,    0,   59,   59,    0,    0,    0,   59,    0,    0,
   59,   57,    0,   59,    0,    0,    0,    0,    0,    0,
    0,    0,    0,   59,   59,    0,    0,    0,    0,   59,
    0,   59,    0,   59,    0,   57,    0,    0,    0,   59,
    0,   59,    0,    0,    0,   59,    0,    0,    0,    0,
    0,    0,    0,   59,    0,    0,    0,   59,    0,    0,
   59,    0,    0,    0,    0,   59,   59,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,   59,    0,
    0,    0,   59,   59,   59,   59,   59,    0,   59,    0,
    0,    0,    0,    0,   59,    0,   59,   59,    0,   57,
   59,   59,    0,    0,    0,    0,    0,    0,   59,   57,
    0,   59,   59,   59,   59,    0,   59,    0,   59,    0,
   59,   59,   59,   59,   59,    0,    0,    0,    0,   59,
    0,   59,    0,    0,   57,    0,    0,    0,    0,    0,
    0,    0,   59,    0,    0,    0,    0,   59,   59,    0,
    0,    0,   59,    0,    0,   59,    0,   59,   59,   59,
   59,    0,   59,    0,    0,    0,    0,    0,    0,    0,
   59,   59,    0,    0,    0,    0,    0,    0,    0,    0,
    0,   59,   59,    0,   59,   59,   59,    0,    0,    0,
    0,   59,   59,    0,   59,   59,    0,   59,    0,    0,
   59,   59,   59,   59,   59,   59,   59,    0,    0,    0,
    0,   59,   59,   59,    0,   59,   59,   59,    0,   59,
    0,    0,    0,    0,    0,    0,    0,    0,    0,   59,
   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    0,   59,   59,   59,   59,   59,   59,    0,   59,   59,
   59,   59,    0,   59,    0,   59,   59,   59,   59,   59,
   59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
   59,   59,   59,    0,   59,   59,   59,   59,    0,   59,
   59,   59,   59,   59,    0,   59,   59,   59,   59,   59,
   59,   59,   59,   59,   59,   59,   59,   59,  115,   59,
  116,   59,   59,   59,   59,   59,  118,   59,    0,  119,
  120,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  121,  122,    0,  123,    0,  124,    0,    0,  125,
    0,    0,  126,    0,    0,    0,    0,    0,    0,  128,
    0,  129,  130,    0,    0,    0,  131,    0,    0,  132,
    0,    0,  134,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  135,  136,    0, 1506,    0,    0,  137,    0,
  138,    0,  139,    0,    0,    0,    0,    0,  141,    0,
  142,    0,    0,    0,  143,    0,    0,    0,    0,    0,
    0,    0,  144,    0,    0,    0,  145,    0,    0,  146,
    0,    0,    0,    0,  147,  148,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  149,    0,    0,
    0,  150,  151,  152,  153,  154,    0,  155,    0,    0,
    0,    0,    0,  156, 1507,  157,  158,    0,    0,  160,
  161,    0,    0,    0,    0,    0,    0,  162,    0,    0,
  164,  165,  166,  167,    0,  168,    0,  169,    0,  170,
  171,  172,  173,  174,    0,    0,    0,    0,  175, 1508,
  176,    0,    0,    0, 1509,    0,    0,    0,    0,    0,
 1510,  178,    0,    0,    0,    0,  179,  180,    0,    0,
    0,  181,    0,    0,  182,    0,  183,  184,  185, 1511,
    0,  187,    0,    0,    0,    0,    0,    0,    0,  188,
  189,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  190,  191,    0,  192,  193,  194,    0,    0,    0,    0,
  195,  196,    0,  197,  198,    0,  199,    0,    0,  200,
  201,  202,  203,  204,  205,  206,    0,    0,    0,    0,
  207,  208,  209,    0,  210,  211,  212,    0,  213,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  214,  215,
  216,  217,  218,  219,  220,  221,  222,  223,  224,  225,
  226,  227,  228,  229,  230,  231,  232,  233,  234,    0,
  235,  236,  237,  238,  239,  240,    0,  241,  242,  243,
  244,    0,  245,    0,  246,  247,  248,  249,  250,  251,
  252,  253,  254,  255,  256,  257,  258,  259,  260,  261,
  262,  263,    0,  264,  265,  266,  267,    0,  268,  269,
  270,  271,  272,    0,  273,  274,  275,  276,  277,  278,
  279,  280,  281,  282,  283,  284,  285,  115,  286,  116,
  287,  288,  289,  290,  291,  118,  292,    0,  119,  120,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,    0,    0,  125,    0,
    0,  126,    0,    0,    0,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132,    0,
    0,  134,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  135,  136,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141, 1373,  142,
    0,    0,    0,  143,    0,    0,    0,    0,    0,    0,
    0,  144,    0,    0,    0,  145,    0,    0,  146,    0,
    0, 1374,    0,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,    0,    0,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,    0,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0, 1992,    0,  170,  171,
  172,  173,  174,    0,    0,    0,    0,  175,    0,  176,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  178,    0,    0,    0,    0,  179,  180,    0,    0,    0,
  181,    0,    0,  182,    0,  183,  184,  185,  186,    0,
  187,    0,    0,    0,    0,    0,    0,    0,  188,  189,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  190,
  191,    0,  192,  193,  194,    0,    0,    0,    0,  195,
  196,    0,  197,  198,    0,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  208,  209,    0,  210,  211,  212,    0,  213,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  214,  215,  216,
  217,  218,  219,  220,  221,  222,  223,  224,  225,  226,
  227,  228,  229,  230,  231,  232,  233,  234,    0,  235,
  236,  237,  238,  239,  240,    0,  241,  242,  243,  244,
    0,  245,    0,  246,  247,  248,  249,  250,  251,  252,
  253,  254,  255,  256,  257,  258,  259,  260,  261,  262,
  263,    0,  264,  265,  266,  267,    0,  268,  269,  270,
  271,  272,    0,  273,  274,  275,  276,  277,  278,  279,
  280,  281,  282,  283,  284,  285,  115,  286,  116,  287,
  288,  289,  290,  291,  118,  292,    0,  119,  120,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  121,
  122,    0,  123,    0,  124,    0,    0,  125,    0,    0,
  126,    0,    0,    0,    0,    0,    0,  128,    0,  129,
  130,    0,    0,    0,  131,    0,    0,  132,    0,    0,
  134,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  135,  136,    0,    0,    0,    0,  137,    0,  138,    0,
  139,    0,    0,    0,    0,    0,  141,    0,  142,    0,
    0,    0,  143,    0,    0,    0,    0,    0,    0,    0,
  144,    0,    0,    0,  145,    0,    0,  146,    0,    0,
    0,    0,  147,  148,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  149,  315,    0,    0,  150,
  151,  152,  153,  154,    0,  155,    0,    0,    0,    0,
    0,  156,    0,  157,  158,    0,    0,  160,  161,    0,
    0,    0,    0,    0,    0,  162,    0,    0,  164,  165,
  166,  167,    0,  168,    0,  169,    0,  170,  171,  172,
  173,  174,    0,    0,    0,    0,  175,    0,  176,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  178,
    0,    0,    0,    0,  179,  180,    0,    0,    0,  181,
    0,    0,  182,    0,  183,  184,  185,  186,    0,  187,
    0,    0,    0,    0,    0,    0,    0,  188,  189,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  190,  191,
    0,  192,  193,  194,    0,    0,    0,    0,  195,  196,
    0,  197,  198,    0,  199,    0,    0,  200,  201,  202,
  203,  204,  205,  206,    0,    0,    0,    0,  207,  208,
  209,    0,  210,  211,  212,    0,  213,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  214,  215,  216,  217,
  218,  219,  220,  221,  222,  223,  224,  225,  226,  227,
  228,  229,  230,  231,  232,  233,  234,    0,  235,  236,
  237,  238,  239,  240,    0,  241,  242,  243,  244,    0,
  245,    0,  246,  247,  248,  249,  250,  251,  252,  253,
  254,  255,  256,  257,  258,  259,  260,  261,  262,  263,
    0,  264,  265,  266,  267,    0,  268,  269,  270,  271,
  272,    0,  273,  274,  275,  276,  277,  278,  279,  280,
  281,  282,  283,  284,  285,  115,  286,  116,  287,  288,
  289,  290,  291,  118,  292,    0,  119,  120,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  121,  122,
    0,  123,    0,  124,    0,    0,  125,    0,    0,  126,
    0,    0,    0,    0,    0,    0,  128,    0,  129,  130,
    0,    0,    0,  131,    0,    0,  132,    0,    0,  134,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  135,
  136,    0,    0,    0,    0,  137,    0,  138,    0,  139,
    0,    0,    0,    0,    0,  141,    0,  142,    0,    0,
    0,  143,    0,    0,    0,    0,    0,    0,    0,  144,
    0,    0,    0,  145,    0,    0,  146,    0,    0,    0,
    0,  147,  148,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  149,    0,    0,    0,  150,  151,
  152,  153,  154,    0,  155,    0,    0,    0,    0,    0,
  156,    0,  157,  158,    0,    0,  160,  161,    0,    0,
    0,    0,    0,    0,  162,    0,    0,  164,  165,  166,
  167,    0,  168,    0,  169,    0,  170,  171,  172,  173,
  174,    0,    0,    0,    0,  175,    0,  176,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  178,    0,
    0,    0,    0,  179,  180,    0,    0,    0,  181,    0,
    0,  182,    0,  183,  184,  185,  186,    0,  187,    0,
    0,    0,    0,    0,    0,    0,  188,  189,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  190,  191,    0,
  192,  193,  194,    0,    0,    0,    0,  195,  196,    0,
  197,  198,    0,  199,    0,    0,  200,  201,  202,  203,
  204,  205,  206,    0,    0,    0,    0,  207,  208,  209,
    0,  210,  211,  212,    0,  213,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  214,  215,  216,  217,  218,
  219,  220,  221,  222,  223,  224,  225,  226,  227,  228,
  229,  230,  231,  232,  233,  234,    0,  235,  236,  237,
  238,  239,  240,    0,  241,  242,  243,  244,    0,  245,
    0,  246,  247,  248,  249,  250,  251,  252,  253,  254,
  255,  256,  257,  258,  259,  260,  261,  262,  263,  320,
  264,  265,  266,  267,    0,  268,  269,  270,  271,  272,
    0,  273,  274,  275,  276,  277,  278,  279,  280,  281,
  282,  283,  284,  285,  115,  286,  116,  287,  288,  289,
  290,  291,  118,  292,    0,  119,  120,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  121,  122,    0,
  123,    0,  124,    0,    0,  125,    0,    0,  126,    0,
    0,    0,    0,    0,    0,  128,    0,  129,  130,    0,
    0,    0,  131,    0,    0,  132,    0,    0,  134,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  135,  136,
    0,    0,    0,    0,  137,    0,  138,    0,  139,    0,
    0,    0,    0,    0,  141,    0,  142,    0,    0,    0,
  143,    0,    0,    0,    0,    0,    0,    0,  144,    0,
    0,    0,  145,    0,    0,  146,    0,    0,    0,    0,
  147,  148,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  149,    0,    0,    0,  150,  151,  152,
  153,  154,    0,  155,    0,    0,    0,    0,    0,  156,
    0,  157,  158,    0,    0,  160,  161,    0,    0,    0,
    0,    0,    0,  162,    0,    0,  164,  165,  166,  167,
    0,  168,    0,  169,    0,  170,  171,  172,  173,  174,
    0,    0,    0,    0,  175,    0,  176,    0,    0,    0,
  821,    0,    0,    0,    0,    0,    0,  178,    0,    0,
    0,    0,  179,  180,    0,    0,    0,  181,    0,    0,
  182,    0,  183,  184,  185,  186,    0,  187,    0,    0,
    0,    0,    0,    0,    0,  188,  189,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  190,  191,    0,  192,
  193,  194,    0,    0,    0,    0,  195,  196,    0,  197,
  198,    0,  199,    0,    0,  200,  201,  202,  203,  204,
  205,  206,    0,    0,    0,    0,  207,  208,  209,    0,
  210,  211,  212,    0,  213,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  214,  215,  216,  217,  218,  219,
  220,  221,  222,  223,  224,  225,  226,  227,  228,  229,
  230,  231,  232,  233,  234,    0,  235,  236,  237,  238,
  239,  240,    0,  241,  242,  243,  244,    0,  245,    0,
  246,  247,  248,  249,  250,  251,  252,  253,  254,  255,
  256,  257,  258,  259,  260,  261,  262,  263,    0,  264,
  265,  266,  267,    0,  268,  269,  270,  271,  272,    0,
  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,
  283,  284,  285,  115,  286,  116,  287,  288,  289,  290,
  291,  118,  292,    0,  119,  120,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  121,  122,    0,  123,
  934,  124,    0,    0,  125,    0,    0,  126,    0,    0,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  135,  136,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,    0,    0,    0,    0,  144,    0,    0,
    0,  145,    0,    0,  146,    0,    0,    0,    0,  147,
  148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,    0,    0,    0,    0,  156,    0,
  157,  158,    0,    0,  160,  161,    0,    0,    0,    0,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168,    0,  169,    0,  170,  171,  172,  173,  174,    0,
    0,    0,    0,  175,    0,  176,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  178,    0,    0,    0,
    0,  179,  180,    0,    0,    0,  181,    0,    0,  182,
    0,  183,  184,  185,  186,    0,  187,    0,    0,    0,
    0,    0,    0,    0,  188,  189,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  190,  191,    0,  192,  193,
  194,    0,    0,    0,    0,  195,  196,    0,  197,  198,
    0,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  208,  209,    0,  210,
  211,  212,    0,  213,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  214,  215,  216,  217,  218,  219,  220,
  221,  222,  223,  224,  225,  226,  227,  228,  229,  230,
  231,  232,  233,  234,    0,  235,  236,  237,  238,  239,
  240,    0,  241,  242,  243,  244,    0,  245,    0,  246,
  247,  248,  249,  250,  251,  252,  253,  254,  255,  256,
  257,  258,  259,  260,  261,  262,  263,    0,  264,  265,
  266,  267,    0,  268,  269,  270,  271,  272,    0,  273,
  274,  275,  276,  277,  278,  279,  280,  281,  282,  283,
  284,  285,  115,  286,  116,  287,  288,  289,  290,  291,
  118,  292,    0,  119,  120,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  121,  122,    0,  123,  940,
  124,    0,    0,  125,    0,    0,  126,    0,    0,    0,
    0,    0,    0,  128,    0,  129,  130,    0,    0,    0,
  131,    0,    0,  132,    0,    0,  134,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  135,  136,    0,    0,
    0,    0,  137,    0,  138,    0,  139,    0,    0,    0,
    0,    0,  141,    0,  142,    0,    0,    0,  143,    0,
    0,    0,    0,    0,    0,    0,  144,    0,    0,    0,
  145,    0,    0,  146,    0,    0,    0,    0,  147,  148,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  149,    0,    0,    0,  150,  151,  152,  153,  154,
    0,  155,    0,    0,    0,    0,    0,  156,    0,  157,
  158,    0,    0,  160,  161,    0,    0,    0,    0,    0,
    0,  162,    0,    0,  164,  165,  166,  167,    0,  168,
    0,  169,    0,  170,  171,  172,  173,  174,    0,    0,
    0,    0,  175,    0,  176,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  178,    0,    0,    0,    0,
  179,  180,    0,    0,    0,  181,    0,    0,  182,    0,
  183,  184,  185,  186,    0,  187,    0,    0,    0,    0,
    0,    0,    0,  188,  189,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  190,  191,    0,  192,  193,  194,
    0,    0,    0,    0,  195,  196,    0,  197,  198,    0,
  199,    0,    0,  200,  201,  202,  203,  204,  205,  206,
    0,    0,    0,    0,  207,  208,  209,    0,  210,  211,
  212,    0,  213,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  214,  215,  216,  217,  218,  219,  220,  221,
  222,  223,  224,  225,  226,  227,  228,  229,  230,  231,
  232,  233,  234,    0,  235,  236,  237,  238,  239,  240,
    0,  241,  242,  243,  244,    0,  245,    0,  246,  247,
  248,  249,  250,  251,  252,  253,  254,  255,  256,  257,
  258,  259,  260,  261,  262,  263,    0,  264,  265,  266,
  267,    0,  268,  269,  270,  271,  272,    0,  273,  274,
  275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
  285,  115,  286,  116,  287,  288,  289,  290,  291,  118,
  292,    0,  119,  120,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  121,  122,    0,  123,    0,  124,
    0,    0,  125,    0,    0,  126,    0,    0,    0,    0,
    0,    0,  128,    0,  129,  130,    0,    0,    0,  131,
    0,    0,  132,    0,    0,  134, 1652,    0,    0,    0,
    0,    0,    0,    0,    0,  135,  136,    0,    0,    0,
    0,  137,    0,  138,    0,  139,    0,    0,    0,    0,
    0,  141,    0,  142,    0,    0,    0,  143,    0,    0,
    0,    0,    0,    0,    0,  144,    0,    0,    0,  145,
    0,    0,  146,    0,    0,    0,    0,  147,  148,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  149,    0,    0,    0,  150,  151,  152,  153,  154,    0,
  155,    0,    0,    0,    0,    0,  156,    0,  157,  158,
    0,    0,  160,  161,    0,    0,    0,    0,    0,    0,
  162,    0,    0,  164,  165,  166,  167,    0,  168,    0,
  169,    0,  170,  171,  172,  173,  174,    0,    0,    0,
    0,  175,    0,  176,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  178,    0,    0,    0,    0,  179,
  180,    0,    0,    0,  181,    0,    0,  182,    0,  183,
  184,  185,  186,    0,  187,    0,    0,    0,    0,    0,
    0,    0,  188,  189,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  190,  191,    0,  192,  193,  194,    0,
    0,    0,    0,  195,  196,    0,  197,  198,    0,  199,
    0,    0,  200,  201,  202,  203,  204,  205,  206,    0,
    0,    0,    0,  207,  208,  209,    0,  210,  211,  212,
    0,  213,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  214,  215,  216,  217,  218,  219,  220,  221,  222,
  223,  224,  225,  226,  227,  228,  229,  230,  231,  232,
  233,  234,    0,  235,  236,  237,  238,  239,  240,    0,
  241,  242,  243,  244,    0,  245,    0,  246,  247,  248,
  249,  250,  251,  252,  253,  254,  255,  256,  257,  258,
  259,  260,  261,  262,  263,    0,  264,  265,  266,  267,
    0,  268,  269,  270,  271,  272,    0,  273,  274,  275,
  276,  277,  278,  279,  280,  281,  282,  283,  284,  285,
  115,  286,  116,  287,  288,  289,  290,  291,  118,  292,
    0,  119,  120,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  121,  122,    0,  123,    0,  124,    0,
    0,  125,    0,    0,  126,    0,    0,    0,    0,    0,
    0,  128,    0,  129,  130,    0,    0,    0,  131,    0,
    0,  132,    0,    0,  134,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  135,  136,    0,    0,    0,    0,
  137,    0,  138,    0,  139,    0,    0,    0,    0,    0,
  141,    0,  142,    0,    0,    0,  143,    0,    0,    0,
    0,    0,    0,    0,  144,    0,    0,    0,  145,    0,
    0,  146,    0,    0,    0,    0,  147,  148,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  149,
    0,    0,    0,  150,  151,  152,  153,  154,    0,  155,
    0,    0,    0,    0,    0,  156,    0,  157,  158,    0,
    0,  160,  161,    0,    0,    0,    0,    0,    0,  162,
    0,    0,  164,  165,  166,  167,    0,  168,    0,  169,
    0,  170,  171,  172,  173,  174,    0,    0,    0,    0,
  175,    0,  176,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  178,    0,    0,    0,    0,  179,  180,
    0,    0,    0,  181,    0,    0,  182,    0,  183,  184,
  185,  186, 1787,  187,    0,    0,    0,    0,    0,    0,
    0,  188,  189,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  190,  191,    0,  192,  193,  194,    0,    0,
    0,    0,  195,  196,    0,  197,  198,    0,  199,    0,
    0,  200,  201,  202,  203,  204,  205,  206,    0,    0,
    0,    0,  207,  208,  209,    0,  210,  211,  212,    0,
  213,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  214,  215,  216,  217,  218,  219,  220,  221,  222,  223,
  224,  225,  226,  227,  228,  229,  230,  231,  232,  233,
  234,    0,  235,  236,  237,  238,  239,  240,    0,  241,
  242,  243,  244,    0,  245,    0,  246,  247,  248,  249,
  250,  251,  252,  253,  254,  255,  256,  257,  258,  259,
  260,  261,  262,  263,    0,  264,  265,  266,  267,    0,
  268,  269,  270,  271,  272,    0,  273,  274,  275,  276,
  277,  278,  279,  280,  281,  282,  283,  284,  285,  115,
  286,  116,  287,  288,  289,  290,  291,  118,  292,    0,
  119,  120,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  121,  122,    0,  123,    0,  124,    0,    0,
  125,    0,    0,  126,    0,    0,    0,    0,    0,    0,
  128,    0,  129,  130,    0,    0,    0,  131,    0,    0,
  132,    0,    0,  134,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  135,  136,    0,    0,    0,    0,  137,
    0,  138,    0,  139,    0,    0,    0,    0,    0,  141,
    0,  142,    0,    0,    0,  143,    0,    0,    0,    0,
    0,    0,    0,  144,    0,    0,    0,  145,    0,    0,
  146,    0,    0,    0,    0,  147,  148,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  149,    0,
    0,    0,  150,  151,  152,  153,  154,    0,  155,    0,
    0,    0,    0,    0,  156,    0,  157,  158,    0,    0,
  160,  161,    0,    0,    0,    0,    0,    0,  162,    0,
    0,  164,  165,  166,  167,    0,  168,    0,  169,    0,
  170,  171,  172,  173,  174,    0,    0,    0,    0,  175,
    0,  176,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  178,    0,    0,    0,    0,  179,  180,    0,
    0,    0,  181,    0,    0,  182,    0,  183,  184,  185,
  186, 2319,  187,    0,    0,    0,    0,    0,    0,    0,
  188,  189,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  190,  191,    0,  192,  193,  194,    0,    0,    0,
    0,  195,  196,    0,  197,  198,    0,  199,    0,    0,
  200,  201,  202,  203,  204,  205,  206,    0,    0,    0,
    0,  207,  208,  209,    0,  210,  211,  212,    0,  213,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  214,
  215,  216,  217,  218,  219,  220,  221,  222,  223,  224,
  225,  226,  227,  228,  229,  230,  231,  232,  233,  234,
    0,  235,  236,  237,  238,  239,  240,    0,  241,  242,
  243,  244,    0,  245,    0,  246,  247,  248,  249,  250,
  251,  252,  253,  254,  255,  256,  257,  258,  259,  260,
  261,  262,  263,    0,  264,  265,  266,  267,    0,  268,
  269,  270,  271,  272,    0,  273,  274,  275,  276,  277,
  278,  279,  280,  281,  282,  283,  284,  285,  115,  286,
  116,  287,  288,  289,  290,  291,  118,  292,    0,  119,
  120,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  121,  122,    0,  123,    0,  124,    0,    0,  125,
    0,    0,  126,    0,    0,    0,    0,    0,    0,  128,
    0,  129,  130,    0,    0,    0,  131,    0,    0,  132,
    0,    0,  134,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  135,  136,    0,    0,    0,    0,  137,    0,
  138,    0,  139,    0,    0,    0,    0,    0,  141,    0,
  142,    0,    0,    0,  143,    0,    0,    0,    0,    0,
    0,    0,  144,    0,    0,    0,  145,    0,    0,  146,
    0,    0,    0,    0,  147,  148,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  149,    0,    0,
    0,  150,  151,  152,  153,  154,    0,  155,    0,    0,
    0,    0,    0,  156,    0,  157,  158,    0,    0,  160,
  161,    0,    0,    0,    0,    0,    0,  162,    0,    0,
  164,  165,  166,  167,    0,  168,    0,  169,    0,  170,
  171,  172,  173,  174,    0,    0,    0,    0,  175,    0,
  176,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  178,    0,    0,    0,    0,  179,  180,    0,    0,
    0,  181,    0,    0,  182,    0,  183,  184,  185,  186,
    0,  187,    0,    0,    0,    0,    0,    0,    0,  188,
  189,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  190,  191,    0,  192,  193,  194,    0,    0,    0,    0,
  195,  196,    0,  197,  198,    0,  199,    0,    0,  200,
  201,  202,  203,  204,  205,  206,    0,    0,    0,    0,
  207,  208,  209,    0,  210,  211,  212,    0,  213,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  214,  215,
  216,  217,  218,  219,  220,  221,  222,  223,  224,  225,
  226,  227,  228,  229,  230,  231,  232,  233,  234,    0,
  235,  236,  237,  238,  239,  240,    0,  241,  242,  243,
  244,    0,  245,    0,  246,  247,  248,  249,  250,  251,
  252,  253,  254,  255,  256,  257,  258,  259,  260,  261,
  262,  263,    0,  264,  265,  266,  267,    0,  268,  269,
  270,  271,  272,    0,  273,  274,  275,  276,  277,  278,
  279,  280,  281,  282,  283,  284,  285,  115,  286,  116,
  287,  288,  289,  290,  291,  118,  292,    0,  119,  120,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  121,  122,    0,  123,    0,  124,    0,    0,  125,    0,
    0,  126,    0,    0,    0,    0,    0,    0,  128,    0,
  129,  130,    0,    0,    0,  131,    0,    0,  132,    0,
    0,  134,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  135,  136,    0,    0,    0,    0,  137,    0,  138,
    0,  139,    0,    0,    0,    0,    0,  141,    0,  142,
    0,    0,    0,  143,    0,    0,    0,    0,    0,    0,
    0,  144,    0,    0,    0,  145,    0,    0,  146,    0,
    0,    0,    0,  147,  148,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  149,    0,    0,    0,
  150,  151,  152,  153,  154,    0,  155,    0,    0,    0,
    0,    0,  156,    0,  157,  158,    0,    0,  160,  161,
    0,    0,    0,    0,    0,    0,  162,    0,    0,  164,
  165,  166,  167,    0,  168,    0,  169,    0,  170,  171,
  172,  173,  174,    0,    0,    0,    0,  175,    0,  176,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  178,    0,    0,    0,    0,  179,  180,    0,    0,    0,
  181,    0,    0,  182,    0,  183,  184,  185,  186,    0,
 2001,    0,    0,    0,    0,    0,    0,    0,  188,  189,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  190,
  191,    0,  192,  193,  194,    0,    0,    0,    0,  195,
  196,    0,  197,  198,    0,  199,    0,    0,  200,  201,
  202,  203,  204,  205,  206,    0,    0,    0,    0,  207,
  208,  209,    0,  210,  211,  212,    0,  213,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  214,  215,  216,
  217,  218,  219,  220,  221,  222,  223,  224,  225,  226,
  227,  228,  229,  230,  231,  232,  233,  234,    0,  235,
  236,  237,  238,  239,  240,    0,  241,  242,  243,  244,
    0,  245,    0,  246,  247,  248,  249,  250,  251,  252,
  253,  254,  255,  256,  257,  258,  259,  260,  261,  262,
  263,    0,  264,  265,  266,  267,    0,  268,  269,  270,
  271,  272,    0,  273,  274,  275,  276,  277,  278,  279,
  280,  281,  282,  283,  284,  285,   30,  286,   30,  287,
  288,  289,  290,  291,   30,  292,    0,   30,   30,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,   30,
   30,    0,   30,    0,   30,    0,    0,   30,    0,    0,
   30,    0,    0,    0,    0,    0,    0,   30,    0,   30,
   30,    0,    0,    0,   30,    0,    0,   30,    0,    0,
   30,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   30,   30,    0,    0,    0,    0,   30,    0,   30,    0,
   30,    0,    0,    0,    0,    0,   30,    0,   30,    0,
    0,    0,   30,    0,    0,    0,    0,    0,    0,    0,
   30,    0,    0,    0,   30,    0,    0,   30,    0,    0,
    0,    0,   30,   30,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,   30,    0,    0,    0,   30,
   30,   30,   30,   30,    0,   30,    0,    0,    0,    0,
    0,   30,    0,   30,   30,    0,    0,   30,   30,    0,
    0,    0,    0,    0,    0,   30,    0,    0,   30,   30,
   30,   30,    0,   30,    0,   30,    0,   30,   30,   30,
   30,   30,    0,    0,    0,    0,   30,    0,   30,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,   30,
    0,    0,    0,    0,   30,   30,    0,    0,    0,   30,
    0,    0,   30,    0,   30,   30,   30,   30,    0,   30,
    0,    0,    0,    0,    0,    0,    0,   30,   30,    0,
    0,    0,    0,    0,    0,    0,    0,    0,   30,   30,
    0,   30,   30,   30,    0,    0,    0,    0,   30,   30,
    0,   30,   30,    0,   30,    0,    0,   30,   30,   30,
   30,   30,   30,   30,    0,    0,    0,    0,   30,   30,
   30,    0,   30,   30,   30,    0,   30,    0,    0,    0,
    0,    0,    0,    0,    0,    0,   30,   30,   30,   30,
   30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
   30,   30,   30,   30,   30,   30,   30,    0,   30,   30,
   30,   30,   30,   30,    0,   30,   30,   30,   30,    0,
   30,    0,   30,   30,   30,   30,   30,   30,   30,   30,
   30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
    0,   30,   30,   30,   30,    0,   30,   30,   30,   30,
   30,    0,   30,   30,   30,   30,   30,   30,   30,   30,
   30,   30,   30,   30,   30,  718,   30,  718,   30,   30,
   30,   30,   30,  718,   30,    0,  718,  718,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  718,  718,
    0,  718,    0,  718,    0,    0,  718,    0,    0,  718,
    0,    0,    0,    0,    0,    0,  718,    0,  718,  718,
    0,    0,    0,  718,    0,    0,  718,    0,    0,  718,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  718,
  718,    0,    0,    0,    0,  718,    0,  718,    0,  718,
    0,    0,    0,    0,    0,  718,    0,  718,    0,    0,
    0,  718,    0,    0,    0,    0,    0,    0,    0,  718,
    0,    0,    0,  718,    0,    0,  718,    0,    0,    0,
    0,  718,  718,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  718,    0,    0,    0,  718,  718,
  718,  718,  718,    0,  718,    0,    0,    0,    0,    0,
  718,    0,  718,  718,    0,    0,  718,  718,    0,    0,
    0,    0,    0,    0,  718,    0,    0,  718,  718,  718,
  718,    0,  718,    0,  718,    0,  718,  718,  718,  718,
  718,    0,    0,    0,    0,  718,    0,  718,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  718,    0,
    0,    0,    0,  718,  718,    0,    0,    0,  718,    0,
    0,  718,    0,  718,  718,  718,  718,    0,  718,    0,
    0,    0,    0,    0,    0,    0,  718,  718,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  718,  718,    0,
  718,  718,  718,    0,    0,    0,    0,  718,  718,    0,
  718,  718,    0,  718,    0,    0,  718,  718,  718,  718,
  718,  718,  718,    0,    0,    0,    0,  718,  718,  718,
    0,  718,  718,  718,    0,  718,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  718,  718,  718,  718,  718,
  718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
  718,  718,  718,  718,  718,  718,    0,  718,  718,  718,
  718,  718,  718,    0,  718,  718,  718,  718,    0,  718,
    0,  718,  718,  718,  718,  718,  718,  718,  718,  718,
  718,  718,  718,  718,  718,  718,  718,  718,  718,    0,
  718,  718,  718,  718,    0,  718,  718,  718,  718,  718,
    0,  718,  718,  718,  718,  718,  718,  718,  718,  718,
  718,  718,  718,  718,  330,  718,  330,  718,  718,  718,
  718,  718,  330,  718,    0,  330,  330,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  330,  330,    0,
  330,    0,  330,    0,    0,  330,    0,    0,  330,    0,
    0,    0,    0,    0,    0,  330,    0,  330,  330,    0,
    0,    0,  330,    0,    0,  330,    0,    0,  330,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  330,  330,
    0,    0,    0,    0,  330,    0,  330,    0,  330,    0,
    0,    0,    0,    0,  330,    0,  330,    0,    0,    0,
  330,    0,    0,    0,    0,    0,    0,    0,  330,    0,
    0,    0,  330,    0,    0,  330,    0,    0,    0,    0,
  330,  330,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  330,    0,    0,    0,  330,  330,  330,
  330,  330,    0,  330,    0,    0,    0,    0,    0,  330,
    0,  330,  330,    0,    0,  330,  330,    0,    0,    0,
    0,    0,    0,  330,    0,    0,  330,  330,  330,  330,
    0,  330,    0,  330,    0,  330,  330,  330,  330,  330,
    0,    0,    0,    0,  330,    0,  330,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  330,    0,    0,
    0,    0,  330,  330,    0,    0,    0,  330,    0,    0,
  330,    0,  330,  330,  330,  330,    0,  330,    0,    0,
    0,    0,    0,    0,    0,  330,  330,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  330,  330,    0,  330,
  330,  330,    0,    0,    0,    0,  330,  330,    0,  330,
  330,    0,  330,    0,    0,  330,  330,  330,  330,  330,
  330,  330,    0,    0,    0,    0,  330,  330,  330,    0,
  330,  330,  330,    0,  330,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  330,  330,  330,  330,  330,  330,
  330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
  330,  330,  330,  330,  330,    0,  330,  330,  330,  330,
  330,  330,    0,  330,  330,  330,  330,    0,  330,    0,
  330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
  330,  330,  330,  330,  330,  330,  330,  330,    0,  330,
  330,  330,  330,    0,  330,  330,  330,  330,  330,    0,
  330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
  330,  330,  330,  115,  330,  116,  330,  330,  330,  330,
  330,  118,  330,    0,  119,  120,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  121,  122,    0,  123,
    0,  124,    0,    0,  125,    0,    0,  126,    0,    0,
    0,    0,    0,    0,  128,    0,  129,  130,    0,    0,
    0,  131,    0,    0,  132,    0,    0,  134,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  135,  136,    0,
    0,    0,    0,  137,    0,  138,    0,  139,    0,    0,
    0,    0,    0,  141,    0,  142,    0,    0,    0,  143,
    0,    0,    0,    0,    0,    0,    0,  144,    0,    0,
    0,  145,    0,    0,  146,    0,    0,    0,    0,  147,
  148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  149,    0,    0,    0,  150,  151,  152,  153,
  154,    0,  155,    0,    0,    0,    0,    0,  156,    0,
  157,  158,    0,    0,  160,  161,    0,    0,    0,    0,
    0,    0,  162,    0,    0,  164,  165,  166,  167,    0,
  168,    0,  169,    0,  170,  171,  172,  173,  174,    0,
    0,    0,    0,  175,    0,  176,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  178,    0,    0,    0,
    0,  179,  180,    0,    0,    0,  181,    0,    0,  182,
    0,  183,  184,  185,  186,    0,  187,    0,    0,    0,
    0,    0,    0,    0,  188,  189,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  190,  191,    0,  192,  193,
  194,    0,    0,    0,    0,  195,  196,    0,  197,  198,
    0,  199,    0,    0,  200,  201,  202,  203,  204,  205,
  206,    0,    0,    0,    0,  207,  208,  209,    0,  210,
  211,  212,    0,  213,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  214,  215,  216,  217,  218,  219,  220,
  221,  222,  223,  224,  225,  226,  227,  228,  229,  230,
  231,  232,  233,  234,    0,  235,  236,  237,  238,  239,
  240,    0,  241,  242,  243,  244,    0,  245,    0,  246,
  247,  248,  249,  250,  251,  252,  253,  254,  255,  256,
  257,  258,  259,  260,  261,  262,  263,    0,  264,  265,
  266,  267,    0,  268,  269,  270,  271,  272,    0,  273,
  274,  275,  276,  277,  278,  279,  280,    0,  282,  283,
  284,  285,  115,  286,  116,  287,  288,  289,  290,  291,
  118,  292,    0,  119,  120,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  121,  122,    0,  123,    0,
  124,    0,    0,  125,    0,    0,  126,    0,    0,    0,
    0,    0,    0,  128,    0,  129,  130,    0,    0,    0,
  131,    0,    0,  132,    0,    0,  134,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  135,  136,    0,    0,
    0,    0,  137,    0,  138,    0,  139,    0,    0,    0,
    0,    0,  141,    0,  142,    0,    0,    0,  143,    0,
    0,    0,    0,    0,    0,    0,  144,    0,    0,    0,
  145,    0,    0,  146,    0,    0,    0,    0,  147,  148,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  149,    0,    0,    0,  150,  151,  152,  153,  154,
    0,  155,    0,    0,    0,    0,    0,  156,    0,  157,
  158,    0,    0,  160,  161,    0,    0,    0,    0,    0,
    0,  162,    0,    0,  164,  165,  166,  167,    0,  168,
    0,  169,    0,  170,  171,  172,  173,  174,    0,    0,
    0,    0,  175,    0,  176,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  178,    0,    0,    0,    0,
  179,  180,    0,    0,    0,  181,    0,    0,  182,    0,
  183,  184,  185,  186,    0,  187,    0,    0,    0,    0,
    0,    0,    0,  188,  189,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  190,  191,    0,  192,  193,  194,
    0,    0,    0,    0,  195,  196,    0,  197,  198,    0,
  199,    0,    0,  200,  201,  202,  203,  204,  205,  206,
    0,    0,    0,    0,  207,  208,  209,    0,  210,  211,
  212,    0,  213,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  215,  216,  217,  218,  219,  220,  221,
  222,  223,  224,  225,  226,  227,  228,  229,  230,  231,
  232,  233,  234,    0,  235,  236,  237,  238,  239,  240,
    0,  241,  242,  243,  244,    0,  245,    0,  246,  247,
  248,  249,  250,  251,  252,  253,  254,  255,  256,  257,
  258,  259,  260,  261,  262,  263,    0,  264,  265,  266,
  267,    0,  268,  269,  270,  271,  272,    0,  273,  274,
  275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
  285,    0,  286,    0,  287,  288,  289,  290,  291,    0,
  292,
};
static int yycheck[] = {                                       8,
   64,    0,   76,   16,  177,   77,   15,   16,  111,   18,
  660,   68,  576,  577, 1119,  764,  810,   75,  104,  887,
  660,   83,  930,   76,   15,   70,   98, 1119,   85,  638,
  638,  634,   86,  638,  576,  577,   71, 1186,  102,  593,
 1152,  652,   87,  923,  106, 1188,  448,  597, 1450, 1066,
  107, 1189,   61,   62,  108,   64,   65,   66,   67,   68,
   69,   70,   71,  935,  109,  655,  101,   76,   77,   78,
  842,   80,  630,   82,   83,  110,   85,   86,   87,   88,
   89, 1234, 1153, 1378, 1023,   94,  830,   96,   97,   98,
 1229,  100,  101,  102,  103,   66,  105,  106,  107,  108,
  109,  110,  111, 1043,  113,   96, 1229, 1137, 1048, 1229,
  865,   82,   65, 1167,  105, 1229,  607,  595, 1229, 1471,
 1216, 1108, 1229, 1136, 1025,  829,  945,   80,  572,  606,
 1034,    0,   44,    0, 1212, 1794,  930,    0,    0, 1876,
  440,    0,  334,    0, 1084,  547, 1539,    0, 1616,   41,
  103, 1091,    0,    0,  645,   45,    0, 1574, 1804,    0,
  113,    0,   42,   43, 1192,   45,    0,   47,   45, 1651,
   40,    0,    0,    0,    0,    0,   44,   41,   44, 1750,
   63,  653, 1753,   44,   44,    0,   40,  959,    0,    0,
   59,   40,   59,   63,   44, 1577,   59,   59,   40,   45,
   59, 1196,   59,    0, 1597,    0,   59,   41,   44,   63,
   44,   59,   59,  264,   41,   59,  856,   44,   59,    0,
   59,    0,  281,   44, 1641,   59,   41,    0,    0,   44,
   59,   59,   59,   59,   59,   41,   42,   43,   44,   45,
   46,   47,  415,  543,   59,   44,    0,   59,   59,  302,
  281,    0,  305,  325, 1251,   45,   40,  262,   41, 1198,
   41,   44,   59,   45,   59,  876,  328,   41, 1205,   40,
   61,  302,    0,   63,    0,  329,   41,  312,   59,  452,
   59,    0,    0,  273,  320,   91,   59,   59,   91,  350,
   44,  276,   41,  302,  303,  304,  305,  297, 1199, 1145,
    0,  310,  323,  312,  280,   59,  264,  320,  911,    0,
   59,  320,    0,  304,  297,   41,  325,  326,  327,  328,
  329,  926,  393,   41,  302,  334,  935,  935, 1122,    0,
  935,   59,  303,   59,  343,   41, 1237,   59,  268,  397,
   59,   59, 1337,  264,  263, 1450,  323,  265,  343, 1476,
 1477,    0,  264,  259,    0,  393,  327,  388, 1450,   59,
  296, 2090, 1844,  269, 2101,  919,  260,  970,   59, 1118,
  273,   59,  377,  326, 1123, 1124,  549,  408,  436,  270,
  298,   44,  873, 1805,  938,  370, 1099, 1100,   59,  308,
  351,  400,  455, 1187,  457,  426,  445,  277,  262, 1279,
  319,  264,  282,  264,  295,  299,  391, 2136, 1333, 1153,
   59,  347,  397,   59,  332,    0,  264,  264, 1496,  961,
  264,  482, 1839, 1324, 1441,  402, 1245,    0,  358,  460,
  408, 1371, 1372,  454,  487,  316,  441,  490,  509,  496,
 1080, 1471, 1472,  401,  347, 1913,  431, 2018,  512,  432,
 1194, 2022,   41,  429,  323,  464,  323,  296,  419,    0,
  498,  323,   41,  472,  323,    0,  456,  296,  374, 1622,
  323,  277,  275, 1413,   59,  335,  282, 1548,  487, 1901,
  401,  490,  954,  536,  542, 1780,   59,  496,  497, 1871,
   42,   43,   44,   45,   46,   47,   59,  262,  417,  314,
  559,  296,  538,  512,  343,  296,   41,  516,    0,  504,
  264, 1928,  296,  377,  343, 1532, 1868,  316,   59, 1547,
  335, 2258,  535,  536,   59,  538,  535, 1920,  559,  538,
  539,  305, 1304,  402, 1927,  402, 1929,  335,  374,   91,
 1284,  369, 1837,  596, 1574,  516, 1541,  374,  343,  402,
  601,  323,   44,  606,  335,  608,  262,  610,  448,  617,
  613, 1501,  571,  572,  337,  448,  378,   59,  640, 1133,
 1922,  448,  421,  631,  399,  633,  444, 2223,  448,  579,
  642,  444,  448, 1580, 1581,  475,  335,  596,  399,  643,
 1334,  649,  442,  657,  448,  437,  444,  606,  475,  608,
  441,  610,  448,  400,  613,  426, 1350, 1544, 1352,  335,
 1012, 1641,  377,  335,  385,  426,  508,  335,  401, 1731,
 1022, 1561,  395,  451,  452,  398, 2197,   45, 1170,  444,
  402,  640,  641,  642,  643, 1536,   41, 1483, 1278,   44,
 1820,  414,  651,    0,    0, 1295,  655,  656,  657,  841,
  378,  660, 2134,  316, 2219, 1295, 2058,  491,  448,  387,
  488, 1301, 1267,  444,  491,  504,  448,  440, 1665, 1463,
  527,  377,  360, 1598, 2411,  504, 2335, 2414, 1783,  264,
  651,  400, 2150,  262,   41,  656, 2079, 2080,  641,  601,
  444, 1783,  363,  508,  343,  444,  508,  577, 1348, 1579,
 1639,  527,   59,   59, 1831, 1832,  534, 1646, 1348,  504,
 1010, 1322,  527, 2130,   44,  527,  305, 1870,  444, 1432,
 1331,   44,  495,  264,  279,  277, 2078,  296,    0,  508,
  282,  600, 1810,  602,  603,  602,  603, 1486,  601, 1640,
  602, 1490,  515,  602,  603, 1287, 1495,  575,  527,  602,
 1821,  451,  452,  601,  601,  528,  765,  601, 1235,  321,
  451,  452, 1206,    0,  821,  764, 1670, 1647, 1587,   41,
  343,   44,  335,   59,  343,   61,  829,  276, 1791,  314,
  508, 1877,  839,   96, 1488,  297, 2138,   59, 1266,  374,
 1340,  272,  268,    0, 1549, 1197, 1540, 1665,  377,  527,
  335,  810,    0,  388,  297,    0,  271,  314,  614, 1839,
  819,  820,  821,  262, 2394,  496,  829,  297,  827,  333,
  285,  281,   59,  832,  833,  883, 1024,  370,  482, 1320,
  839,  830,  841,  374,  887,    0,  264,    0, 1868,   44,
  333, 1014,  302,  262,  303,  304,    0,  388,  819,  374,
  405,  860,   59,  333,   42,  913,  827,  511,  420,  386,
    0,   59,  833,  328,   59,  427,  875,  820,  273,  878,
  928,  370, 2437, 2438,  292,   42,  962,  272,  887,  309,
   47,  408,  935, 2063, 2277, 2278,  378,   41,   93,  860,
   44,  356, 1922,    0,   59,  387,   59,  955, 1928,   59,
  305,  319, 1841,  314,  875,   59,  964,  878,  264,  444,
  462,  463,  464,  465,  466,  467,  468,  469,  432,   59,
  432,  930,  283,  276, 2276,  934,  935, 1538,  377,  347,
    0,  940,  262, 2513,   41,  504,  443,  407,  281,  432,
  335, 1690,  347, 2523,  408, 2510,  374, 2059,  408,  441,
  442, 1009,   59, 2058,  419, 2094, 2095,  314,  377,  302,
 1018, 1019,  315, 1613,  440, 2077, 2058,    0, 1021,    0,
  316, 2094, 2095, 1613, 2094, 2095, 1963,  300,  335,  262,
 2094, 2095,  441, 2094, 2095, 1865, 1866, 2094, 2095,   59,
 1784,  304,  527, 1787, 2048, 2049,  401,  264, 1556,  417,
  460, 2296,   42,   43,  318,   45,  425,   47,   41, 1112,
  296, 1760, 1021, 2084,  444,  433,  508, 1918, 1608,  571,
 2074, 2075,  399,  303,  304,  568,   59,  300,   59,  447,
  448,  449,  388,  451,  452,  527, 1071,  592,  391,  276,
  277, 1631,  314,  264,  347,  597,    0,  377, 2078, 1048,
 2615,  456,  470,  471,  472,  473,  474,  475,  476,  477,
  478,    0, 1071,  335,  259,  408,  257,  485,  486,  264,
   42,   43,  260,   45,  269,   47,  494, 1619,  431,  277,
  426, 1134, 1280, 1136, 1642, 1138, 1085,  444, 1145,  264,
  451,  452,  260,    0,  377,  280,  270,  275,  369,  559,
 2130,  264,   41, 1112,  261,   59, 1119,  374, 2138, 2511,
  277,  299,  277, 1122, 2252,  282,  323,  460, 1668,  260,
   59,  295,  448,  314,  264, 1134,  562, 1136,  276, 1138,
 2002,  299, 1904,  370,   41, 1188, 1145, 1909,  329, 2156,
   44,  606,  425, 1196, 1153,  395,  257, 1205,  451,  452,
  586,  508,   59,  374, 1153, 1164, 1165, 1166,  299,  427,
  314,  441,  340, 1803, 1804, 1223, 2568,  315, 2570,  314,
  527, 1180,  444, 1182, 1232, 1188, 1262, 1921, 1187,  374,
 2582,  335, 1235, 1192, 1734,  343,    0, 1196,   41,   93,
  375,   44, 2131,  388, 1165, 1194,  446, 1206,  616,  374,
   41,   42,   43,  314,   45,   46,   47,  314,   61, 1180,
 1263, 1182, 2614, 1166, 1267,    0,  559,  488,  329,   60,
   61,   62,   42,   43, 1282,   45, 1235,   47,  335, 1315,
 1316, 1317, 1335,  264,  374, 1293, 1638,  277,    0, 1803,
 1804, 1805,  282,  391,  429,   59, 2276, 2400,  388, 1899,
   91, 2394,  303,  304, 1263,  527,  259,   41, 1267, 1899,
   44,  446,  407,  534, 2144,  299,  269,  595,   42,   43,
  260,   45,  378,   47,   59,   59,  318,   61,  369,   41,
  548,  314,   44,  431, 1337, 1284, 1295,  555, 2339,    0,
  444,   59,  338,  451,  452, 2235, 2408,   59,  443,    0,
    0,   59,  335,  308,  575,  277,    0,    0, 1919,  299,
  282, 2251, 1321,  347,  394,  361, 1858,  408, 1860, 1873,
   42,   43, 1925,   45,  430,   47, 1335, 2076, 1337, 1338,
  410,   93, 2481,    0,  318, 1334,  370,  444,  492, 1348,
 1349,    0,  257,  374,   42,   43,   44,   45,   59,   47,
 1321, 1350,  257, 1352,  508,  257,  328,  388,   59,   59,
   41, 1464,    0,   44,  455,   59,   59, 1338,  486,   44,
  416,  374,    0,  527,   41,  314,  260,   44,   59,    0,
   61, 1923, 1417,   41,   42,   43,  426,   45,  393,   47,
  441,    0,   59, 2002, 2002,   40,  335, 2002,   44,  314,
   59,  508,   60,   61,   62,    0, 2511,  314, 1417,  562,
  395,  444,  277,    0,  329,  299,   44,  282,   93, 2511,
  527,   59, 2216,  428,  329,  351, 1483,  329,  335,  414,
  271,   59, 2340,  586,  439, 1488,  277, 1450,   59,  378,
  392,  282,  262,  296,  285,  374, 1508,   93,  387, 1506,
   59, 1554, 1509,   59, 1463, 1464, 1510,  277,  384,    0,
  386,    0,  282, 2568,   59, 2570, 1511, 1476, 1477, 2520,
  395,  378,   59,  258, 1483, 1488, 2568, 2582, 2570,  320,
  387,    0,  408,  399, 2352,  270, 1544,  328, 1541,  260,
 2582,  430,    0,  277,  527,  336,  264, 1506, 1507, 1508,
 1509, 1510, 1511,  277,  258,  444,  264,  433,  282, 2614,
  426,  296,  296,  354,  260,  356, 2567,  302,   59,  304,
   59,  446, 2614,  430,  903, 2319,  905,  368,  299,  370,
  371,  372, 1541, 2584,    0,    0,    0,  444, 1547, 1548,
   59, 1540, 1600,  264,   40, 1554, 2340, 1633,  302,    0,
   59,   59, 2603,  299, 1507,  277,   42,   43,  343,   45,
  282,   47, 2613, 2503,  264, 2616,  351,  335,   41,  508,
  264,   44,    0,  335,   60,   61,   62,  335,  419,  277,
 2631, 1667,  700, 2223,  282,  296,  370, 1673,  527,  299,
   46, 1644,    0,   59,   59,   59,  277,  434,    0, 1608,
 1658,  508,   58, 2543,    0,   61,  374,  444,   59,  276,
  277,  483, 1665,  271,  281,  296,  374,  284,  386,  277,
  527,  493, 1631,    0,  282,  374,  264,  285,  386,  296,
 2424,   59,  343,   41,  419, 1644,   44,  347,  400, 1648,
  351,  448,   44,  264,  762,  763,  764,  258,    0,  258,
  261,   59,  426,  374,  408,   44, 1665,   59,  264, 2223,
 1734,  270,  320,   59,   41,  386,  317,   44,  475,    0,
  328,  258,  426,  384,  374,  386,  444, 1648,  336,  330,
  374, 1734,   59,  270,   61,   93,  444,  296,  388,   41,
  458,  302,   44,  302,  388,  304,  354,  408,  356,    0,
  458,    0,  353,  370,  284,  448,  460,   59,   41,  296,
  368,   44,  370,  371,  372,  302,  296,  304,  265,  504,
    0, 1730,  433,  444,  391, 1734,  374,  297,   59,  335,
  397,    0,  475,    0,  343,  376,  374,  458, 1791, 1730,
  462,  463,  464,  465,  466,  467,  468,  469,  332,    0,
  388,  298,  403,  374,  276,  264,  343,    0,   59,  376,
   59,  419,  284,  333,  431,  606,  333,  388,  374,    0,
 1783,    0,    0,  891,   41, 1784,  894,   44, 1787,   59,
  386,  899, 1791,  264,  902,  271,    0,  308,  906,  408,
   59,  277,   59,  504,   61,    0,  282,   40,   41,  285,
 1813,   44,   44,   41, 1813,    0,   44,  258,   59,  464,
   41, 1820, 1821,   44,    0,    0,   59,  472,   61,  270,
 1829, 1830, 1831, 1832, 2573, 2475,  335,  397,   59,  337,
   59,   59,    0, 1842,  320, 2475,  264,  407,  444, 2421,
    0, 2423,  328,    0,   46,   59,  451,  452,   91,  571,
  336,  302,  458,  304,   59, 1499,   58,   59, 1502,   61,
   40,  369,  432,  332,   59,  374,   41,  595,  354,   44,
  356, 1842,  393,   59,   59,  597, 1934,  386,  407,  432,
   41,  258,  368,   44,  370,  371,  372,  395,  312,  313,
  398,   59,  559, 1951,  444,  504,  273,  366, 1956,   59,
  277,  258,   59,  424,  281,  434,  414,  428,   40,  378,
   41,   42,   43,  270,   45,  444,   47,  504,  439,  296,
  414,   41, 1921,   41,   44,  302,   44,  335,  305,  515,
 1048,   41,  440,  419,   44,  444,  451,   42,   43,   44,
   45,   46,   47,   61,   46,  302,  374,  304,  606,  458,
 1068,  264,   59,  312, 1072,   41,   58, 1075,   44,   61,
  388,   42,   43,  386,   45, 1083,   47, 1085,  382,  383,
  347, 1089, 1090,  451,  452, 1093, 1094, 1095, 1096, 1097,
 1098, 1099,  332, 1101, 1993, 1103,   91,  495,  483,  484,
  314,  258,  400,  370,  424, 1113, 1114, 1115, 1116, 1117,
 1118,  598, 1993, 1121,  332, 1123, 1124,  515,  275,  276,
  277,  331,  609,  610,  281,  258,  366,  284, 2121,   41,
  528,  442,   44,   41,  401,  401,   44,  424,  378,  296,
  273,  408,  275,  276,  277,  302,  491,   41,  281,  560,
   44,  284, 1829, 1830,  393, 2058,    0, 2060,  335,  426,
  316, 2060,  260,  296, 2063,   42,   43,  314,   45,  302,
   47,   41,  305,  374,   44,  314,   42,   43,  374,   45,
  496,   47,  426, 1191,  355, 2084,   41,   42,   43,  456,
   45,   41,   47,  460,   44,   41, 2259,   41,   44, 2262,
   44, 2100,  424, 1067,  532, 1069,    0, 2106,   41, 1073,
 1074,   44, 1076,  370,  347,   59,   59,   61,   41,    0,
  529,   44, 2121, 2187,   41,   41,   41,   44,   44,   44,
  606, 2185,   41, 2132,  391,   44,  531,  370, 1102, 2100,
  397, 1829, 1830,   41, 2187, 2106,   44,   41,  335,  406,
  264,  408,  337,    0,   41, 2219,  277,   44,  391,   41,
   41,  282,   44,   41,  397,   59,   44,  264,  401,  426,
   41, 2132,  424,   44,  431,  408, 2219,   41,   59,  375,
   44,    0,  277, 2182,  369,  408, 2185,  282, 2187, 2094,
 2095,    0,  559,  426,   41,  316,   41,   44,  431,   44,
  318, 2182,   41,  460,   41,   44,  277,   44,  336, 2263,
  395,  282,   59,  398,  373,   41,   41, 2216,   44,   44,
 2219,   41,   41,  456,   44,   44,  495,  460,  273,  414,
  508,   42,   43,  296,   45,  408,   47,  503,  335,  504,
   59, 2289,  503,  314,  305, 2293,  459, 1355, 1356, 1357,
   59,   44, 1360, 1361, 1362,  440, 1364, 1365, 1366,  600,
 1368, 1369, 1370,  264, 2263,  447,  448,  449, 2255, 2256,
  268, 1379, 1380,  444, 1382,   61, 1384,  374,  364, 1387,
 1388, 1389, 1390,   46, 1392, 1393,  283,   42,   43,  386,
   45,   40,   47,  475,  476,   58,   59,  264,   61,   40,
  277, 1409,  559, 1411,  387,  282,   40,   40,   40, 2352,
  495,  277,  451,   40,  258,   40,  282,  451, 2317, 1427,
 2319,  264,  277,   46,   40,   40,  559,  282, 1436, 1437,
  515,  275,  276,  277,   40,   58,   59,  281,   61,  316,
  284, 2340,   40,  528,  451,   40,   40,  444,   40,   40,
  316, 2394,  296, 2352,   40,    0,   40,  350,  302,  314,
   40,  458,   40,   40,   46, 2427,   40,  462,  463,  464,
  465,  466,  467,  468,  469,  400,   58,   59, 1486,   61,
   40,   46, 1490,   91,   40,   42,   43, 1495,   45,   40,
   47, 2394,  335,   58,   59, 2394,   61,   42,   43,   44,
   45,   46,   47,   40,   40, 2394,   40,   46,   40,   44,
   40, 2473,   61,   40,   59,   60,   61,   62,  264,  434,
  314,  316, 2421,   44, 2423, 2424,  370,  530, 2427,  393,
  324,  374,  326,  314,  438,  314,  418, 2436, 2437, 2438,
 2483,  335, 1550,  386, 1552, 1553,   91,  391,   46,   61,
   40,   40,  264,  397,  335,   46,  336,  276,  277,  343,
  296,  276,  281,  363,  408,  284,  277,  314,  317,  343,
  343,  282,  264,  426, 2473, 2474,  571,  296,  388,  326,
 2483,  330,  426,  388,  378, 1843,  603,  431,  335,  454,
  448,  275,  343,  387,  317,  437,  307,  378,  437,  390,
   40,  444,  597,  344,  353,    0,   40,  330, 2511,   91,
   40, 2510,   40,  264,  316,  458,  460,  366,   40,  374,
   44,  448,  277,  380, 2513,  374,  401,  282,  337, 1887,
  353,  378,   40,  373, 2523,   40,  430,  441, 1896,  314,
  387,   41,  373,  366, 2533,  378,  277,    0,  442,  430,
  444,  370,   42,   43,  403,   45,  370,   47,  275,    0,
  369,  316,   63,  444,   59, 2568,  426, 2570,  426,  454,
  313,  527,  391,   40,   40, 1933,  438,   40,  397, 2582,
  403,  444, 1690,  430,   40,  264,  395,   40,   41,  398,
  336,   44, 2591,   44,  316, 1703, 1704,  444, 1706, 1707,
   41,   44,   44,   44,  517,  414,   59, 1715,   61, 1717,
   40, 2614,  431,   40,  508,  559, 2615,  262,   59, 2618,
  277,  317,  536,    0,  296,  282,  271,  508,  339,  273,
 1738,  440,  277,  527,  330,  339, 1744,  282,   91, 1747,
  285, 1749, 1750,  602,  604, 1753,  527, 1755,  377,  377,
  307, 1759, 1760, 1761,  408,  408,  377,  353,  406,   40,
 1768,  508, 1770,  512,   41, 1773, 1774, 1775, 1776,  314,
  366, 1779,  317,   40,   40,  320,  264,   40,  374,  324,
  527,  326,   59,  328,  351,  330,  495,  426,  361,  512,
  335,  336,   41,  338,   44,   42,   43,   44,   45,   46,
   47,  316,   41,   44,  277,   41,  515,  403,  353,  354,
    0,  356,   44,   46,  347,  376,   41,   42,   43,  528,
   45,  366,   47,  368, 2082,  370,  371,  372,  273,  374,
   41,  360,  377,  378,   41, 2093,  379,  338, 2096,  338,
  559, 1360,  387, 1362,   91, 1364, 1365, 2105,   44, 1368,
 1369, 1370,   42,   43,   44,   45,   46,   47,  403,   44,
  316,  316,   42,   43,  434,   45, 1874,   47,   41,   59,
   60,   61,   62,  442,  419, 2133,  264, 2135,  492, 2137,
  425, 2139,  266,  264,  491,  430,  284,  277,  412,  444,
   41,   58,  282,  347,   41,  491,  441,  442,   41,  444,
   41,   91,  264,  323,   40,  258,  575,   42,   43,   44,
   45,   46,   47,  590,    0,  385,  512,  307,  305,  305,
  273,   41,  275,  276,  277,   41,   40,   40,  281,   40,
   40,  284,   40,  316,   40,  276,  277,   40,  337,  426,
   40,   40,  337,  296,   40,   40,  491,   40,   40,  302,
   40, 1959,  305,   40,  262,   41,   91, 1965,   44,   40,
  425,  295, 1970,  508,  304,  426,  444,  512,  338, 1977,
  369, 1979,    0,   59,  369,   40,   44,  324,  382,  397,
  377,  377,  527,  377,  377,  377, 2244, 2245, 2246,  276,
  454,  454,   42,   43,  347,   45,  395,   47,  377,  398,
  395,  517,  260,  398,   41,   41,   42,   43,   44,   45,
 2018,   47,    0,   41, 2022,  414,   44,  370,    0,  414,
 2028, 2029, 2280,  448,   41,  374,   40, 2035,   41,  370,
  277,   59,   41,   61,   41,  282,  316,  314,  391,  297,
   41,  440,   44,   41,  397,  440,   41,  324,  401,  326,
  391,  309,  277,   41,  373,  408,  397,  282,  335,   41,
  304,  606,   44,   91,  425,   41,   46,  270, 2076,  323,
  441,   59,  262,  426,  426,  333,  436,   59,  431,   61,
  273,  271,    0,  441,  326,  265,  339,  277,  432,  332,
  431,    0,  282,  333,  432,  285,  495,  277,  297,  333,
  495,  378,  282,  456,  458,  297,  376,  460,  458,   91,
  387, 2369, 2370, 2371,   41,   41,  515, 2375,  298,   41,
  515,  279,   41,   41,  314,  363,   44,  317,  363,  528,
  320,   41,   41,  528,  324,   44,  326,   41,  328,  397,
  330,   59,  277,   41,   41,  335,  336,  282,  338,  407,
   59, 2159,   61,  430,   41,   41,   41, 2165, 2166,   41,
   41,   41,   41,  353,  354, 2173,  356,  444,   41,   41,
   41,   41,   42,   43,  432,   45,  366,   47,  368,   41,
  370,  371,  372,   40,  374, 2193,   41,  377,  378, 2197,
  276,  277,  376, 2201,  568,  425,  370,  387, 2206, 2207,
 2208, 2209, 2210,  568,   40,  456,  559, 2215,   41,  332,
  304,   59,  441,  403,  290,  462,  463,  464,  465,  466,
  467,  468,  469,   42,   43,  425,   45,  277,   47,  419,
  258,  508,  282,  569,  432,  425,   44,  374,   44,  508,
  430,  277, 2250,  508,   41,  273,  282,  275,  276,  277,
  527,  441,  442,  281,  444,   40,  284,  307,   46,   41,
   42,   43,  314,   45,  333,   47,  408,  374,  296,   41,
   42,   43,  374,   45,  302,   47,  258,  305,   42,   43,
 2288,   45,   41,   47,  370,   40,  598,  335,  335,   59,
   58,  273,   40,  297,  276,  277, 2304,   41,  432,  281,
  427,  491,  284,   40,  434,  391,   41,   42,   43,  453,
   45,  397,   47,   44,  296,  300,  335,    0,  508,  347,
  302,  498,  512,  305,  571,  335,  314,  462,  463,  464,
  465,  466,  467,  468,  469,   41,  324,  527,  326,   40,
  312,  335,  370,  425,  433,  431,   40,  335,  427,  258,
  597,   41,   42,   43,  392,   45,  427,   47,   41,   42,
   43,   44,   45,  391,   47,  347,  300,  276,  277,  397,
  303,  335,  281,  401,  290,  284,   59,   60,   61,   62,
  408,  612, 2390,  300, 2392,  407,  614,  296,  370,    0,
  378,  332,  407,  302,   40,  374,  314,  374,  426,  387,
  264, 2409,  407,  431,  264,  264,  324,  277,  326,  391,
   93,  401,  282,  448,   40,  397,  606,  335,  441,  401,
  338,   44,   41,  338,  316, 2433,  408,   40,  456,   41,
   40,  434,  460,   41,   42,   43,  571,   45,  338,   47,
  448,  264,  430,   41,  426,  264,   41,  425,  448,  431,
   41,   41,   41,   41,   41,   41,  444,   41,  277,  304,
  378,  370,  597,  282,  260,   59,   41,   42,   43,  387,
   45,  300,   47,  527,  456,   40,   59,   59,  460,   59,
   59,   59,  391,   41,   42,   43,   59,   45,  397,   47,
   59,  335,  484, 2501, 2502,  277,   44,   41,  262,  408,
  282,  369,  369,   41,   41,  277,   41,  527, 2394,  527,
  282, 2394,  430,  277,  309, 2394,  601,  426,  282,  837,
  508, 2394,  431, 2394,  442, 2533,  444, 2394,   41,   42,
   43,  559,   45, 1798,   47,  309, 1166,  310,  839,  527,
  498,  497,  277, 1670, 1030, 1341, 2554,  282, 2556,  100,
 1665,  460, 1668, 1295,   88, 1348, 1244, 1643, 1873, 1623,
 1659, 2569,  635,  970,  545, 2573, 1559, 2575, 2576, 2083,
 1644, 1871,  940, 2413,  257,  258,  259,  559,  608,  262,
 2367,  264,  265, 2591,  608,  268,  269,  277,  271, 2412,
  508, 2489,  282,  276,  277, 1235, 1472,  280,  281,  282,
  283,  284,  285, 2479, 2612,  288, 2569, 2587,  291,  527,
  765, 2618, 2620, 2558, 2622,  298, 2620,  300,  301,  302,
  303,  304,  305, 2436,  307,  308, 2398, 2521,  311, 1134,
  613,  314,  598,  316,  317,  942,  591,  320,  321,  322,
 1312,  324, 1910,  326,  327,  328,  329,  330,  331,   13,
  559, 1303,  335,  336,  337,  338,  339,  311,  523, 1007,
  343,  844,  849, 1180, 2227,  579, 1550, 2409,  351,  277,
  353,  354,  355,  356,  282,  358, 1153, 2182, 1500, 1552,
  363,  364, 2483,  366, 2067,  368, 1993,  370,  371,  372,
 1065,  374, 2066,  376,  377,  378,  865,  380,  381,  382,
  383,  384,  277,  386,  387, 2407, 2394,  282,  391,  392,
 2394,  394,  395, 1163,  397,  398,  399,  400, 1705,  277,
  403,  450, 1505,  406,  282,  408,  409,  410,  411,  412,
  618,  414, 1650,  416, 1888,  418,  419,  420,  421,  422,
  692, 1562,  425,  426,  427, 1778,  429,  430,  431,   41,
   42,   43,   -1,   45,    0,   47, 1755,  440,  441,  442,
   -1,  444,  445,  446,  277,   -1,   -1,  450,   -1,  282,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,   42,   43,
   -1,   45,   46,   47,   -1,   41,  479,  480,   44,  482,
  483,  484,   -1,   -1,   -1,   59,  489,  490,  491,  492,
  493,   -1,  495,   59,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,
  513,  514,  515,   -1,  517,   -1,   -1,   91,   42,   43,
   44,   45,   -1,   47,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,    0,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  606,  607,   -1,  609,  610,  611,  612,
  613,   -1,  615,   -1,   -1,   -1,  261,   -1,   40,   41,
   42,   43,   44,   45,   46,   47,   41,   42,   43,   -1,
   45,   -1,   47,   -1,  279,   -1,   58,   59,   60,   61,
   62,   -1,  287,   -1,   -1,   -1,   -1,   -1,   -1,  291,
  295,   -1,  297,   42,   43,   44,   45,  302,   47,  301,
   -1,   -1,   -1,   -1,  309,  277,  308,   -1,   -1,   91,
  282,   93,   -1,   -1,   -1,   -1,   -1,   -1,  323,  321,
   -1,   -1,   -1,   41,   42,   43,   -1,   45,  333,   47,
  264,   -1,  317,   -1,   41,   42,   43,   -1,   45,   -1,
   47,   -1,   -1,  277,   -1,  330,   -1,   -1,  282,   -1,
  276,  277,   -1,  338,   -1,   -1,  361,   -1,  284,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,  353,   -1,
   -1,   -1,   -1,   -1,   -1,  377,   -1,   -1,   41,   42,
   43,  366,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,
  395,  393,   -1,  277,   -1,   -1,   -1,  402,  282,   -1,
  405,  335,   -1,  408,   -1,   -1,   -1,  409,   -1,   -1,
   41,   42,   43,   -1,   45,   -1,   47,   -1,  403,   -1,
   -1,   -1,  424,   -1,   -1,   -1,  428,  432,   -1,  431,
   -1,  433,   -1,   -1,   -1,   -1,   -1,  439,   -1,  444,
  374,   -1,   -1,   -1,  370,   -1,   -1,   -1,  374,   -1,
   -1,   -1,  386,   41,   42,   43,  458,   45,   -1,   47,
   -1,   -1,   -1,   -1,   -1,  391,   -1,   -1,  571,   -1,
   -1,  397,   -1,   -1,   -1,  257,  481,  259,   -1,   -1,
  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,
   -1,  496,  497,   -1,  597,  277,   -1,   -1,  280,  281,
  282,  283,  277,  285,   -1,  431,  288,  282,   -1,  291,
  444,   -1,  514,  518,   -1,  517,  298,   -1,  300,  301,
   -1,  303,  304,  305,  458,  307,  308,  512,  277,  311,
   -1,   -1,  314,  282,  316,  317,   -1,   -1,  320,  321,
  322,   -1,  324,   -1,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,  335,  336,  337,  338,  339,  560,  277,
   -1,  343,   -1,   -1,  282,  491,   -1,    0,   -1,  351,
  277,  353,  354,  355,  356,  282,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,
  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,
  382,  383,  384,  608,  386,  387,   -1,   -1,   41,   -1,
  392,   44,  394,  395,  277,   -1,  398,  399,  400,  282,
   -1,  403,   -1,   -1,  406,   -1,   59,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,  425,  426,  427,  277,  429,  430,   42,
   43,  282,   45,   -1,   47,    0,   -1,   -1,  440,  441,
  442,   -1,  444,  445,  446,   -1,   59,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
  462,  463,  464,  465,  466,  467,  468,  469,   -1,  277,
   -1,   -1,   -1,   -1,  282,   -1,   41,  479,  480,   44,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,
  492,  493,   -1,  495,   59,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,
  512,  513,  514,  515,   -1,  517,   41,   42,   43,   -1,
   45,   -1,   47,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,    0,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  606,  607,   -1,  609,  610,  611,
  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,
   41,   42,   43,   44,   45,   46,   47,   -1,   -1,  275,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,
   61,   62,   -1,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,  264,   -1,   -1,   -1,  301,   -1,   -1,   -1,   -1,
   -1,  314,  308,   -1,  277,   -1,  312,  313,   -1,  282,
   91,  324,   93,  326,   -1,  321,   -1,   -1,   -1,   -1,
   -1,   -1,  335,   -1,   -1,  338,  332,   -1,   41,   42,
   43,   -1,   45,   -1,   47,   41,   42,   43,   -1,   45,
   -1,   47,   -1,   41,   42,   43,   -1,   45,   -1,   47,
   -1,  276,  277,   -1,   -1,   -1,   -1,   -1,   -1,  284,
   -1,   -1,  335,   -1,   -1,  378,   -1,   -1,   -1,   -1,
   -1,   41,   42,   43,  387,   45,   -1,   47,   -1,  385,
   41,   42,   43,   -1,   45,   -1,   47,  393,   -1,   -1,
   -1,   -1,  277,   -1,   -1,   -1,   -1,  282,   -1,   -1,
   -1,  374,   -1,   -1,   -1,   -1,   41,   42,   43,   -1,
   45,   -1,   47,  386,   -1,   -1,   -1,  430,  424,   -1,
   -1,   -1,  428,   -1,   -1,   -1,   41,   42,   43,  442,
   45,  444,   47,  439,   -1,   -1,   -1,   41,   42,   43,
   -1,   45,   -1,   47,   -1,  370,   -1,   -1,   -1,   -1,
   -1,   -1,  458,  459,   41,   42,   43,   -1,   45,   -1,
   47,   -1,   -1,   -1,   -1,   -1,  391,   -1,   -1,   -1,
   -1,  444,  397,   -1,   -1,   -1,  257,   -1,  259,   -1,
   -1,  262,   -1,  264,  265,  458,   -1,  268,  269,   -1,
  271,   -1,   -1,   -1,   -1,  508,  277,   -1,   -1,  280,
  281,  282,  283,   -1,  285,   -1,  431,  288,  514,   -1,
  291,  517,   -1,   -1,  527,   -1,   -1,  298,   -1,  300,
  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,
  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,
  321,  322,   -1,  324,   -1,  326,  327,  328,  329,  330,
  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,
   -1,   -1,  343,   -1,  277,   -1,  491,   -1,    0,  282,
  351,  277,  353,  354,  355,  356,  282,  358,   -1,  277,
   -1,   -1,  363,  364,  282,  366,   -1,  368,   -1,  370,
  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,  277,   -1,   41,
   -1,  392,  282,  394,  395,   -1,  277,  398,  399,  400,
   -1,  282,  403,   -1,   -1,  406,   -1,   59,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,  277,   -1,  425,  426,  427,  282,  429,  430,
   -1,   41,   42,   43,   -1,   45,    0,   47,   -1,  440,
  441,  442,  277,  444,  445,  446,   -1,  282,   -1,  450,
   -1,   -1,  453,  277,  455,  456,  457,  458,  282,  460,
   -1,  462,  463,  464,  465,  466,  467,  468,  469,   -1,
  277,   42,   43,   -1,   45,  282,   47,   41,  479,  480,
   44,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   59,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,  512,  513,  514,  515,   -1,  517,   41,   42,   43,
   -1,   45,   -1,   47,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  606,  607,   -1,  609,  610,
  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,
   40,   41,   42,   43,   44,   45,   46,   47,   41,   42,
   43,   -1,   45,   -1,   47,   -1,   -1,   -1,   58,   59,
   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   41,   42,   43,   -1,   45,   -1,
   47,   -1,  314,   42,   43,   44,   45,  277,   47,   -1,
   -1,   91,  282,   93,  326,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  335,   41,   42,   43,   -1,   45,   -1,
   47,   -1,   -1,  264,   -1,   -1,   41,   42,   43,   -1,
   45,   -1,   47,   -1,   -1,   -1,  277,   -1,   -1,   -1,
   -1,  282,  276,  277,   -1,   -1,   -1,   -1,   -1,   -1,
  284,   -1,   -1,   -1,   -1,   -1,  378,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  387,   42,   43,   44,   45,
   -1,   47,   42,   43,   44,   45,   -1,   47,   -1,   -1,
   -1,   -1,   -1,  277,   -1,   -1,   -1,   -1,  282,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   42,   43,
   44,   45,   -1,   47,   -1,   -1,   -1,   -1,  430,   42,
   43,   44,   45,   -1,   47,   -1,   -1,   -1,   42,   43,
   -1,   45,  444,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  370,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  391,   -1,   -1,
   -1,   -1,   -1,  397,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,
   -1,  271,   -1,   -1,   -1,   -1,  508,  277,   -1,   -1,
  280,  281,  282,  283,  277,  285,   -1,  431,  288,  282,
   -1,  291,   -1,   -1,   -1,  527,   -1,   -1,  298,   -1,
  300,  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,
  277,  311,   -1,   -1,  314,  282,  316,  317,  277,   -1,
  320,  321,  322,  282,  324,   -1,  326,  327,  328,  329,
  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,
  277,   -1,   -1,  343,   -1,  282,   -1,  491,   -1,    0,
   -1,  351,  277,  353,  354,  355,  356,  282,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   41,  277,  392,   -1,  394,  395,  282,  277,  398,  399,
  400,   -1,  282,  403,   -1,   -1,  406,   -1,   59,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,  277,   -1,  425,  426,  427,  282,  429,
  430,   -1,   -1,   -1,  277,   -1,   -1,    0,   -1,  282,
  440,  441,  442,  277,  444,  445,  446,   -1,  282,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,  462,  463,  464,  465,  466,  467,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,  479,
  480,   44,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   59,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,    0,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  606,  607,   -1,  609,
  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,
  275,   40,   41,   42,   43,   44,   45,   46,   47,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  291,   -1,  301,   58,
   59,   60,   61,   62,   -1,  308,  301,   -1,   -1,  312,
  313,   -1,   -1,  308,   -1,   -1,   -1,  312,  321, 1960,
 1961,   -1,   -1,  314,   -1,   -1,   -1, 1968, 1969,  332,
 1971, 1972,   91,   -1,   93,  326,   -1,  332,   -1, 1980,
 1981, 1982, 1983,   -1,  335, 1986, 1987, 1988, 1989, 1990,
 1991,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  276,  277,   -1,   -1,   -1,   -1,   -1,
   -1,  284,   -1,   -1,   -1,   -1,   -1,  378,   -1,   -1,
  393,   -1,   -1,   -1,   -1,   -1,  387,   -1,  393,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  409,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  424,   -1,   -1,   -1,  428,   -1,   -1,   -1,  424,
  433,   -1,   -1,  428,   -1,   -1,  439,   -1,  433,  430,
   -1,   -1,   -1,   -1,  439,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  444,   -1,  458,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  458,   -1,   -1,   -1,  370,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  391,   -1,
   -1,   -1,   -1,   -1,  397,   -1,   -1,   -1,  257,   -1,
  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,
  269,  514,  271,   -1,  517,   -1,   -1,  508,  277,  514,
   -1,  280,  281,  282,  283,   -1,  285,   -1,  431,  288,
   -1,   -1,  291,   -1,   -1,   -1,  527,   -1,   -1,  298,
   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,
   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,  328,
  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,  491,   -1,
   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,
   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   -1,   -1,  392,    0,  394,  395,   -1,   -1,  398,
  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,
  429,  430,   -1,   -1,   40,   41,   -1,   -1,   44,   -1,
   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   59,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,  462,  463,  464,  465,  466,  467,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,    0,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  606,  607,   -1,
  609,  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,
   -1,   -1,   40,   41,   42,   43,   44,   45,   46,   47,
  272,   -1,   -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,
   58,   59,   60,   61,   62,   -1,  288,   -1,   -1,   -1,
  292,   -1,  294,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  276,  277,   -1,   91,   -1,   93,   -1,   -1,  284,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  296,   -1,  334,   -1,   -1,   -1,   -1,   -1,  340,  341,
  342,   -1,  344,  345,  346,   -1,  348,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  365,   -1,  367,   -1,   -1,  272,   -1,
   -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  288,   -1,   -1,   -1,  292,   -1,
  294,   -1,   -1,   -1,  396,   -1,   -1,   -1,   -1,  401,
   -1,   -1,   -1,   -1,  370,   -1,   -1,   -1,   -1,   -1,
   -1,  413,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  391,   -1,   -1,   -1,   -1,
  334,  397,   -1,  435,   -1,   -1,  340,  341,  342,   -1,
  344,  345,  346,   -1,  348,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  365,   -1,  367,   -1,  431,   -1,   -1,  470,  471,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,  262,  487,  264,  265,   -1,   -1,
  268,  269,  396,  271,   -1,   -1,   -1,   -1,   -1,  277,
   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,  413,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,
  308,  435,   -1,  311,   -1,   -1,  314,   -1,  316,  317,
   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,
  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,
  338,  339,   -1,   -1,   -1,  343,  470,  471,   -1,   -1,
   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,
  358,   -1,   -1,  487,   -1,  363,  364,   -1,  366,   -1,
  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   -1,   -1,   -1,  392,    0,  394,  395,   -1,   -1,
  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,  425,  426,  427,
   -1,  429,  430,   -1,   -1,   -1,   41,   -1,   -1,   44,
   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   59,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,  462,  463,  464,  465,  466,  467,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,    0,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  606,  607,
   -1,  609,  610,  611,  612,  613,  614,  615,   -1,   -1,
   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,   46,
   47,  272,   -1,   -1,  275,   -1,   -1,   -1,   -1,   -1,
   -1,   58,   59,   60,   61,   62,   -1,  288,   -1,   -1,
   -1,  292,   -1,  294,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  276,  277,   -1,   91,   -1,   93,   -1,   -1,  284,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  296,   -1,  334,   -1,   -1,   -1,   -1,   -1,  340,
  341,  342,   -1,  344,  345,  346,   -1,  348,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  365,   -1,  367,   -1,   -1,  272,
   -1,   -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  292,
   -1,  294,   -1,   -1,   -1,  396,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  370,   -1,   -1,   -1,   -1,
   -1,   -1,  413,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  391,   -1,   -1,   -1,
   -1,  334,  397,   -1,  435,   -1,   -1,  340,  341,  342,
   -1,  344,  345,  346,   -1,  348,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  365,   -1,  367,   -1,  431,   -1,   -1,  470,
  471,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  257,   -1,  259,   -1,   -1,  262,  487,  264,  265,   -1,
   -1,  268,  269,  396,  271,   -1,   -1,   -1,   -1,   -1,
  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,
  413,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,
  307,  308,  435,   -1,  311,   -1,   -1,  314,   -1,  316,
  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,
  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,
  337,  338,  339,   -1,   -1,   -1,  343,  470,  471,   -1,
   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,
   -1,  358,   -1,   -1,  487,   -1,  363,  364,   -1,  366,
   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,
  377,  378,   -1,  380,  381,  382,  383,  384,   -1,  386,
  387,   -1,   -1,   -1,   -1,  392,    0,  394,  395,   -1,
   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,  426,
  427,   -1,  429,  430,   -1,   -1,   -1,   41,   -1,   -1,
   44,   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,
   -1,   -1,   -1,  450,   -1,   59,  453,   -1,  455,  456,
  457,  458,   -1,  460,   -1,  462,  463,  464,  465,  466,
  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,  508,  509,  510,  511,  512,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,    0,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,  614,  615,   -1,
   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,
   46,   47,  272,   -1,   -1,  275,   -1,   -1,   -1,   -1,
   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,
   -1,   -1,  292,   -1,  294,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  276,  277,   -1,   91,   -1,   93,   -1,   -1,
  284,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  296,   -1,  334,   -1,   -1,   -1,   -1,   -1,
  340,  341,  342,   -1,  344,  345,  346,   -1,  348,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  365,   -1,  367,   -1,   -1,
  272,   -1,   -1,  275,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  292,   -1,  294,   -1,   -1,   -1,  396,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  370,   -1,   -1,   -1,
   -1,   -1,   -1,  413,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  391,   -1,   -1,
   -1,   -1,  334,  397,   -1,  435,   -1,   -1,  340,  341,
  342,   -1,  344,  345,  346,   -1,  348,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  365,   -1,  367,   -1,  431,   -1,   -1,
  470,  471,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,  262,  487,  264,  265,
   -1,   -1,  268,  269,  396,  271,   -1,   -1,   -1,   -1,
   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,
   -1,  413,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,
   -1,  307,  308,  435,   -1,  311,   -1,   -1,  314,   -1,
  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,
  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,
  336,  337,  338,  339,   -1,   -1,   -1,  343,  470,  471,
   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,
  356,   -1,  358,   -1,   -1,  487,   -1,  363,  364,   -1,
  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,
  376,  377,  378,   -1,  380,  381,  382,  383,  384,   -1,
  386,  387,   -1,   -1,   -1,   -1,  392,    0,  394,  395,
   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,
  426,  427,   -1,  429,  430,   -1,   -1,   -1,   41,   -1,
   -1,   44,   -1,   -1,  440,  441,  442,   -1,  444,  445,
  446,   -1,   -1,   -1,  450,   -1,   59,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,  462,  463,  464,  465,
  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,  508,  509,  510,  511,  512,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,    0,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
  606,  607,   -1,  609,  610,  611,  612,  613,  614,  615,
   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,
   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  276,  277,   -1,   91,   -1,   93,   -1,
   -1,  284,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  296,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  370,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  391,   -1,
   -1,   -1,   -1,   -1,  397,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  431,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,
  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,
   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,
  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,
   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,
   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,
  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,
   -1,  376,  377,  378,   -1,  380,  381,  382,  383,  384,
   -1,  386,  387,   -1,   -1,   -1,   -1,  392,    0,  394,
  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,   41,
   -1,   -1,   44,   -1,   -1,  440,  441,  442,   -1,  444,
  445,  446,   -1,   -1,   -1,  450,   -1,   59,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,  462,  463,  464,
  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,    0,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  606,  607,   -1,  609,  610,  611,  612,  613,  614,
  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,
   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  276,  277,   -1,   91,   -1,   93,
   -1,   -1,  284,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  370,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  391,
   -1,   -1,   -1,   -1,   -1,  397,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  431,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,
  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,
   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,
  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,
  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,
  324,   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,
   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,
  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,
  374,   -1,  376,  377,  378,   -1,  380,  381,  382,  383,
  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,    0,
  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,
   41,   -1,   -1,   44,   -1,   -1,  440,  441,  442,   -1,
  444,  445,  446,   -1,   -1,   -1,  450,   -1,   59,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,  463,
  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,    0,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  606,  607,   -1,  609,  610,  611,  612,  613,
  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,
   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  276,  277,   -1,   91,   -1,
   93,   -1,   -1,  284,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  370,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  391,   -1,   -1,   -1,   -1,   -1,  397,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  431,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,
   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,
   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,
   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,
   -1,  324,   -1,  326,  327,  328,  329,  330,  331,   -1,
   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,
   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,  382,
  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,
  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,
   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,    0,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  606,  607,   -1,  609,  610,  611,  612,
  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,
   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,
   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,
   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,
   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,
  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,
   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,
  322,   -1,  324,   -1,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,
  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,
  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,
  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
  462,  463,  464,  465,  466,  467,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,
  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,    0,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  606,  607,   -1,  609,  610,  611,
  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,
   41,   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,
   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,
   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,
  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,
  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,
  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,
  321,  322,   -1,  324,   -1,  326,  327,  328,  329,  330,
  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,
  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,
   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,  462,  463,  464,  465,  466,  467,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  606,  607,   -1,  609,  610,
  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,
   40,   41,   42,   43,   44,   45,   46,   47,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,
   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,
  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,
   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,
  320,  321,  322,   -1,  324,   -1,  326,  327,  328,  329,
  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,  462,  463,  464,  465,  466,  467,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,    0,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  606,  607,   -1,  609,
  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,
   -1,   40,   41,   42,   43,   44,   45,   46,   47,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,
  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,
   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,
   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,  328,
  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,
   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,
  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,  462,  463,  464,  465,  466,  467,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,    0,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  606,  607,   -1,
  609,  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,
   -1,   -1,   40,   41,   42,   43,   44,   45,   46,   47,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,
  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,
   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,
  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,
   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,
  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,
  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,
  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,  425,  426,  427,
   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,  462,  463,  464,  465,  466,  467,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,    0,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  606,  607,
   -1,  609,  610,  611,  612,  613,  614,  615,   -1,   -1,
   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,   46,
   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,
   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,
  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,
  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,
  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,
  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,
  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,
   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,
  377,  378,   -1,  380,  381,  382,  383,  384,   -1,  386,
  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,  426,
  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,   -1,  460,   -1,  462,  463,  464,  465,  466,
  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,  508,  509,  510,  511,  512,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,    0,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,  614,  615,   -1,
   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,
   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,
   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,
   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,
   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,
   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,
  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,
  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,
  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,
  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,
  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,
  376,  377,  378,   -1,  380,  381,  382,  383,  384,   -1,
  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,
  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,
  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,  462,  463,  464,  465,
  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,  508,  509,  510,  511,  512,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,    0,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
  606,  607,   -1,  609,  610,  611,  612,  613,  614,  615,
   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,
   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,
  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,
   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,
  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,
   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,
   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,
  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,
   -1,  376,  377,  378,   -1,  380,  381,  382,  383,  384,
   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,
  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,  462,  463,  464,
  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,    0,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  606,  607,   -1,  609,  610,  611,  612,  613,  614,
  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,
   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,
  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,
   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,
  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,
  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,
  324,   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,
   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,
  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,
  374,   -1,  376,  377,  378,   -1,  380,  381,  382,  383,
  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,
  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,  463,
  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,    0,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  606,  607,   -1,  609,  610,  611,  612,  613,
  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,
   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,
   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,
   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,
   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,
   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,
   -1,  324,   -1,  326,  327,  328,  329,  330,  331,   -1,
   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,
   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,  382,
  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,
  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,
   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,    0,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  606,  607,   -1,  609,  610,  611,  612,
  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,
   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,
   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,
   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,
   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,
  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,
   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,
  322,   -1,  324,   -1,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,
  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,
  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,
  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
  462,  463,  464,  465,  466,  467,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,
  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,    0,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  606,  607,   -1,  609,  610,  611,
  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,
   41,   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,
   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,
   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,
  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,
  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,
  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,
  321,  322,   -1,  324,   -1,  326,  327,  328,  329,  330,
  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,
  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,
   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,  462,  463,  464,  465,  466,  467,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  606,  607,   -1,  609,  610,
  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,
   40,   41,   42,   43,   44,   45,   46,   47,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,
   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,
  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,
   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,
  320,  321,  322,   -1,  324,   -1,  326,  327,  328,  329,
  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,  462,  463,  464,  465,  466,  467,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,    0,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  606,  607,   -1,  609,
  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,
   -1,   40,   41,   42,   43,   44,   45,   46,   47,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,
  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,
   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,
   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,  328,
  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,
   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,
  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,  462,  463,  464,  465,  466,  467,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,    0,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  606,  607,   -1,
  609,  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,
   -1,   -1,   40,   41,   42,   43,   44,   45,   46,   47,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,
  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,
   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,
  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,
   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,
  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,
  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,
  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,  425,  426,  427,
   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,  462,  463,  464,  465,  466,  467,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,    0,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  606,  607,
   -1,  609,  610,  611,  612,  613,  614,  615,   -1,   -1,
   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,   46,
   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,
   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,
  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,
  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,
  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,
  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,
  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,
   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,
  377,  378,   -1,  380,  381,  382,  383,  384,   -1,  386,
  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,  426,
  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,   -1,  460,   -1,  462,  463,  464,  465,  466,
  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,  508,  509,  510,  511,  512,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,    0,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,  614,  615,   -1,
   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,
   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,
   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,
   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,
   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,
   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,
  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,
  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,
  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,
  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,
  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,
  376,  377,  378,   -1,  380,  381,  382,  383,  384,   -1,
  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,
  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,
  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,  462,  463,  464,  465,
  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,  508,  509,  510,  511,  512,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,    0,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
  606,  607,   -1,  609,  610,  611,  612,  613,  614,  615,
   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,
   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,
  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,
   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,
  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,
   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,
   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,
  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,
   -1,  376,  377,  378,   -1,  380,  381,  382,  383,  384,
   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,
  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,  462,  463,  464,
  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,    0,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  606,  607,   -1,  609,  610,  611,  612,  613,  614,
  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,
   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,
  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,
   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,
  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,
  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,
  324,   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,
   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,
  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,
  374,   -1,  376,  377,  378,   -1,  380,  381,  382,  383,
  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,
  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,  463,
  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,    0,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  606,  607,   -1,  609,  610,  611,  612,  613,
  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,
   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,
   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,
   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,
   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,
   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,
   -1,  324,   -1,  326,  327,  328,  329,  330,  331,   -1,
   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,
   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,  382,
  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,
  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,
   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,    0,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  606,  607,   -1,  609,  610,  611,  612,
  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,
   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,
   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,
   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,
   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,
  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,
   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,
  322,   -1,  324,   -1,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,
  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,
  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,
  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
  462,  463,  464,  465,  466,  467,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,
  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,    0,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  606,  607,   -1,  609,  610,  611,
  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,
   41,   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,
   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,
   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,
  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,
  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,
  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,
  321,  322,   -1,  324,   -1,  326,  327,  328,  329,  330,
  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,
  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,
   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,  462,  463,  464,  465,  466,  467,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  606,  607,   -1,  609,  610,
  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,
   40,   41,   42,   43,   44,   45,   46,   47,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,
   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,
  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,
   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,
  320,  321,  322,   -1,  324,   -1,  326,  327,  328,  329,
  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,  462,  463,  464,  465,  466,  467,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,    0,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  606,  607,   -1,  609,
  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,
   -1,   40,   41,   42,   43,   44,   45,   46,   47,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,
  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,
   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,
   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,  328,
  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,
   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,
  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,  462,  463,  464,  465,  466,  467,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,    0,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  606,  607,   -1,
  609,  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,
   -1,   -1,   40,   41,   42,   43,   44,   45,   46,   47,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,
  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,
   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,
  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,
   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,
  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,
  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,
  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,  425,  426,  427,
   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,  462,  463,  464,  465,  466,  467,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,    0,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  606,  607,
   -1,  609,  610,  611,  612,  613,  614,  615,   -1,   -1,
   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,   46,
   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,
   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,
  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,
  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,
  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,
  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,
  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,
   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,
  377,  378,   -1,  380,  381,  382,  383,  384,   -1,  386,
  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,  426,
  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,   -1,  460,   -1,  462,  463,  464,  465,  466,
  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,  508,  509,  510,  511,  512,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,    0,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,  614,  615,   -1,
   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,   45,
   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,
   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,
   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,
   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,
   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,
  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,
  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,
  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,
  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,
  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,
  376,  377,  378,   -1,  380,  381,  382,  383,  384,   -1,
  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,
  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,
  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,  462,  463,  464,  465,
  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,  508,  509,  510,  511,  512,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,    0,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
  606,  607,   -1,  609,  610,  611,  612,  613,  614,  615,
   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,   44,
   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,
  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,
   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,
  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,
   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,
   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,
  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,
   -1,  376,  377,  378,   -1,  380,  381,  382,  383,  384,
   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,
  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,  462,  463,  464,
  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,    0,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  606,  607,   -1,  609,  610,  611,  612,  613,  614,
  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,   43,
   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,
  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,
   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,
  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,
  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,
  324,   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,
   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,
  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,
  374,   -1,  376,  377,  378,   -1,  380,  381,  382,  383,
  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,
  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,  463,
  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,    0,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  606,  607,   -1,  609,  610,  611,  612,  613,
  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,   42,
   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,
   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,
   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,
   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,
   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,
   -1,  324,   -1,  326,  327,  328,  329,  330,  331,   -1,
   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,
   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,  382,
  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,
  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,
   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,    0,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  606,  607,   -1,  609,  610,  611,  612,
  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,   41,
   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,   61,
   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,
   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,
   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,
  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,
   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,
  322,   -1,  324,   -1,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,
  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,
  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,
  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
  462,  463,  464,  465,  466,  467,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,
  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,    0,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  606,  607,   -1,  609,  610,  611,
  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   40,
   41,   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   60,
   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,
   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,
  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,
  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,
  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,
  321,  322,   -1,  324,   -1,  326,  327,  328,  329,  330,
  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,
  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,
   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,  462,  463,  464,  465,  466,  467,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  606,  607,   -1,  609,  610,
  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,
   40,   41,   42,   43,   44,   45,   46,   47,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,
   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,
  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,
   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,
  320,  321,  322,   -1,  324,   -1,  326,  327,  328,  329,
  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,  462,  463,  464,  465,  466,  467,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,    0,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  606,  607,   -1,  609,
  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,
   -1,   40,   41,   42,   43,   44,   45,   46,   47,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,
  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,
   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,
   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,  328,
  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,
   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,
  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,  462,  463,  464,  465,  466,  467,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,    0,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  606,  607,   -1,
  609,  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,
   -1,   -1,   40,   41,   42,   43,   44,   45,   46,   47,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,
  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,
   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,
  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,
   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,
  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,
  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,
  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,  425,  426,  427,
   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,  462,  463,  464,  465,  466,  467,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,    0,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  606,  607,
   -1,  609,  610,  611,  612,  613,  614,  615,   -1,   -1,
   -1,   -1,   -1,   -1,   41,   42,   43,   44,   45,   46,
   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,
   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,
  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,
  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,
  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,
  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,
  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,
   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,
  377,  378,   -1,  380,  381,  382,  383,  384,   -1,  386,
  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,  426,
  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,   -1,  460,   -1,  462,  463,  464,  465,  466,
  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,  508,  509,  510,  511,  512,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,    0,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,  614,  615,   -1,
   -1,   -1,   -1,   -1,   -1,   41,   42,   43,   44,   45,
   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,
   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,
   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,
   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,
   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,
  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,
  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,
  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,
  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,
  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,
  376,  377,  378,   -1,  380,  381,  382,  383,  384,   -1,
  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,
  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,
  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,  462,  463,  464,  465,
  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,  508,  509,  510,  511,  512,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,    0,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
  606,  607,   -1,  609,  610,  611,  612,  613,  614,  615,
   -1,   -1,   -1,   -1,   -1,   -1,   41,   42,   43,   44,
   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,
  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,
   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,
  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,
   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,
   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,
  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,
   -1,  376,  377,  378,   -1,  380,  381,  382,  383,  384,
   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,
  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,  462,  463,  464,
  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,    0,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  606,  607,   -1,  609,  610,  611,  612,  613,  614,
  615,   -1,   -1,   -1,   -1,   -1,   -1,   41,   42,   43,
   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   58,   59,   60,   61,   62,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,
  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,
   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,
  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,
  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,
  324,   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,
   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,
  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,
  374,   -1,  376,  377,  378,   -1,  380,  381,  382,  383,
  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,
  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,  463,
  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,    0,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  606,  607,   -1,  609,  610,  611,  612,  613,
  614,  615,   -1,   -1,   -1,   -1,   -1,   -1,   41,   42,
   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   59,   60,   61,   62,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,
   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,
   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,
   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,  282,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,
   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,
   -1,  324,   -1,  326,  327,  328,  329,  330,  331,   -1,
   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,
   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,  382,
  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,
  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,
   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,    0,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  606,  607,   -1,  609,  610,  611,  612,
  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   -1,   41,
   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   60,   61,
   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   91,
   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,
   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,  281,
  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,
   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,
  322,   -1,  324,   -1,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,
  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,
  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,
  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
  462,  463,  464,  465,  466,  467,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,
  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,    0,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  606,  607,   -1,  609,  610,  611,
  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,   -1,
   41,   42,   43,   44,   45,   46,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   60,
   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,
   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,
  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,  280,
  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,
  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,
  321,  322,   -1,  324,   -1,  326,  327,  328,  329,  330,
  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,
  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,
   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,  462,  463,  464,  465,  466,  467,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  606,  607,   -1,  609,  610,
  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,   -1,
   -1,   41,   42,   43,   44,   45,   46,   47,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,
   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,   -1,
  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,
   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,
  320,  321,  322,   -1,  324,   -1,  326,  327,  328,  329,
  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,  462,  463,  464,  465,  466,  467,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,    0,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  606,  607,   -1,  609,
  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,   -1,
   -1,   -1,   41,   42,   43,   44,   45,   46,   47,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,
  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,   -1,
   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,
   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,  328,
  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,
   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,
  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,  462,  463,  464,  465,  466,  467,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,    0,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  606,  607,   -1,
  609,  610,  611,  612,  613,  614,  615,   -1,   -1,   -1,
   -1,   -1,   -1,   41,   42,   43,   44,   45,   46,   47,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,
  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,  277,
   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,
  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,
   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,
  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,
  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,
  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,  425,  426,  427,
   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,  462,  463,  464,  465,  466,  467,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,    0,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  606,  607,
   -1,  609,  610,  611,  612,  613,  614,  615,   -1,   -1,
   -1,   -1,   -1,   -1,   41,   42,   43,   44,   45,   46,
   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   59,   60,   61,   62,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,
   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,
  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,
  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,
  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,
  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,
  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,
   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,
  377,  378,   -1,  380,  381,  382,  383,  384,   -1,  386,
  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,  426,
  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,   -1,  460,   -1,  462,  463,  464,  465,  466,
  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,  508,  509,  510,  511,  512,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,    0,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,  614,  615,   -1,
   -1,   -1,   -1,   -1,   -1,   41,   42,   43,   44,   45,
   46,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   59,   60,   61,   62,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   91,   -1,   93,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,  265,
   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,   -1,
   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,  285,
   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,  305,
   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,   -1,
  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,   -1,
  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,  335,
  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,  355,
  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,
  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,   -1,
  376,  377,  378,   -1,  380,  381,  382,  383,  384,   -1,
  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,  425,
  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,  445,
  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,  462,  463,  464,  465,
  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,  508,  509,  510,  511,  512,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,    0,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
  606,  607,   -1,  609,  610,  611,  612,  613,   -1,  615,
   -1,   -1,   -1,   -1,   -1,   -1,   41,   42,   43,   44,
   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   59,   60,   61,   62,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,  264,
  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,   -1,
   -1,   -1,  277,   -1,   -1,  280,  281,  282,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,  304,
  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,  314,
   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,  324,
   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,  354,
  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,  374,
   -1,  376,  377,  378,   -1,  380,  381,  382,  383,  384,
   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,  394,
  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,  444,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,  462,  463,  464,
  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,    0,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  606,  607,   -1,  609,  610,  611,  612,  613,   -1,
  615,   -1,   -1,   -1,   -1,   -1,   -1,   41,   42,   43,
   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   59,   60,   61,   62,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,   -1,
  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,  282,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,  303,
  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,   -1,
  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,   -1,
  324,   -1,  326,  327,  328,  329,  330,  331,   -1,   -1,
   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,  353,
  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,   -1,
  374,   -1,  376,  377,  378,   -1,  380,  381,  382,  383,
  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,   -1,
  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,  463,
  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,    0,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  606,  607,   -1,  609,  610,  611,  612,  613,
   -1,  615,   -1,   -1,   -1,   -1,   -1,   -1,   41,   42,
   43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   59,   60,   61,   62,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,  262,
   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,   -1,
   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,  322,
   -1,  324,   -1,  326,  327,  328,  329,  330,  331,   -1,
   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,  372,
   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,  382,
  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,   -1,
  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,  442,
   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,  462,
  463,  464,  465,  466,  467,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,  512,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,    0,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  606,  607,   -1,  609,  610,  611,  612,
  613,   -1,  615,   -1,   -1,   -1,   -1,   -1,   -1,   41,
   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   60,   61,
   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,  271,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,  311,
   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,  321,
  322,   -1,  324,   -1,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,  371,
  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,  381,
  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,
  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
  462,  463,  464,  465,  466,  467,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,  491,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,  511,
  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,    0,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  606,  607,   -1,  609,  610,  611,
  612,  613,   -1,  615,   -1,   -1,   -1,   -1,   -1,   -1,
   41,   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   60,
   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,
   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,   -1,
  271,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,   -1,
  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,  320,
  321,  322,   -1,  324,   -1,  326,  327,  328,  329,  330,
  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,  370,
  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,  400,
   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,  430,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,  462,  463,  464,  465,  466,  467,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  606,  607,   -1,  609,  610,
  611,  612,  613,   -1,  615,   -1,   -1,   -1,   -1,   -1,
   -1,   41,   42,   43,   44,   45,   -1,   47,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,  269,
   -1,  271,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,  303,  304,  305,   -1,  307,  308,   -1,
   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,   -1,
  320,  321,  322,   -1,  324,   -1,  326,  327,  328,  329,
  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,  376,  377,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,  429,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,  462,  463,  464,  465,  466,  467,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,    0,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  606,  607,   -1,  609,
  610,  611,  612,  613,   -1,  615,   -1,   -1,   -1,   -1,
   -1,   -1,   41,   -1,   43,   44,   45,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,  268,
  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,   -1,
   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,  328,
  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,  368,
   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,  425,  426,  427,   -1,
  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,  462,  463,  464,  465,  466,  467,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,    0,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  606,  607,   -1,
  609,  610,  611,  612,  613,   -1,  615,   -1,   -1,   -1,
   -1,   -1,   -1,   41,   -1,   43,   44,   45,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   59,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,  262,   -1,  264,  265,   -1,   -1,
  268,  269,   -1,  271,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,  303,  304,  305,   -1,  307,
  308,   -1,   -1,  311,   -1,   -1,  314,   -1,  316,  317,
   -1,   -1,  320,  321,  322,   -1,  324,   -1,  326,  327,
  328,  329,  330,  331,   -1,   -1,   -1,  335,  336,  337,
  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,  353,  354,  355,  356,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,
  368,   -1,  370,  371,  372,   -1,  374,   -1,  376,  377,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   -1,    0,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,  400,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,  425,  426,  427,
   -1,  429,  430,   41,   -1,   -1,   44,   -1,   -1,   -1,
   -1,   -1,  440,  441,  442,   -1,  444,  445,  446,   -1,
   -1,   59,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,  462,  463,  464,  465,  466,  467,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  606,  607,
   -1,  609,  610,  611,  612,  613,   -1,  615,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,   -1,   -1,  264,  265,   -1,   -1,
  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,   -1,   -1,  311,   -1,   -1,  314,   -1,   -1,  317,
   -1,   -1,   -1,  321,  322,   -1,  324,   -1,  326,  327,
   -1,  329,  330,  331,   -1,   -1,   -1,  335,   -1,  337,
  338,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,    0,   -1,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  374,   -1,  376,   -1,
  378,   -1,  380,  381,  382,  383,  384,   -1,  386,  387,
   -1,   40,   41,   -1,  392,   44,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,
   59,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,
   -1,  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,   -1,  442,   -1,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
  508,  509,  510,  511,  512,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  257,  607,
  259,  609,  610,  611,  612,  613,  265,  615,   -1,  268,
  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,
   -1,   -1,  311,   -1,   -1,  314,   -1,   -1,  317,   -1,
   -1,   -1,  321,  322,   -1,  324,   -1,  326,  327,   -1,
  329,  330,  331,   -1,   -1,   -1,  335,   -1,  337,  338,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
    0,   -1,  351,   -1,  353,   -1,  355,   -1,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  374,   -1,  376,   -1,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,  387,   -1,
   -1,   41,   -1,  392,   44,  394,  395,   -1,   -1,  398,
  399,   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   59,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,
  429,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,   -1,  442,   -1,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,
  509,  510,  511,  512,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,   -1,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  257,  607,  259,
  609,  610,  611,  612,  613,  265,  615,   -1,  268,  269,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,  314,   -1,   -1,  317,   -1,   -1,
   -1,  321,  322,   -1,  324,   -1,  326,  327,   -1,  329,
  330,  331,   -1,   -1,   -1,  335,   -1,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,    0,
   -1,  351,   -1,  353,   -1,  355,   -1,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,  366,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  374,   -1,  376,   -1,  378,   -1,
  380,  381,  382,  383,  384,   -1,  386,  387,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   59,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,   -1,  442,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,
  510,  511,  512,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  257,  607,  259,  609,
  610,  611,  612,  613,  265,  615,   -1,  268,  269,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,
  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,    0,
  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,   -1,   -1,  355,    0,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,
   41,   -1,   -1,   44,   -1,  376,   -1,  378,   -1,  380,
  381,  382,  383,  384,   -1,  386,  387,   -1,   59,   -1,
   -1,  392,   -1,  394,  395,   -1,   41,  398,  399,   44,
   -1,   -1,   -1,   -1,   -1,  406,   -1,  408,  409,  410,
  411,  412,   -1,  414,   59,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
   -1,  442,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
  491,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,  508,  509,  510,
  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
    0,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,  262,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,   -1,  607,   -1,  609,  610,
  611,  612,  613,   -1,  615,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   42,   43,   44,   45,   46,   47,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
   60,   61,   62,  314,   -1,   -1,  317,   -1,   -1,   -1,
   -1,   -1,   -1,  324,   -1,  326,   -1,   -1,   -1,  330,
   -1,   -1,   -1,   -1,  335,   -1,   -1,  338,   -1,  314,
   -1,   91,  317,   -1,   -1,   -1,   -1,   -1,   -1,  324,
   -1,  326,  353,   -1,   -1,  330,   -1,   -1,   -1,   -1,
  335,   -1,   -1,  338,   -1,  366,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  374,   -1,   -1,  377,  378,  353,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  387,   -1,   -1,   -1,
   -1,  366,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  374,
   -1,   -1,  403,  378,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  387,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  425,   -1,   -1,   -1,  403,  430,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  441,  442,   -1,  444,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  430,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  442,   -1,  444,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  491,   -1,   40,   -1,   -1,   43,   -1,   45,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  508,   -1,   -1,
   58,  512,  262,   -1,   -1,   63,  491,   -1,   -1,   -1,
   -1,  271,   -1,   -1,   -1,   -1,  527,  277,   -1,   -1,
   -1,   -1,  282,  508,   -1,  285,   -1,  512,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  314,   -1,   -1,  317,   -1,   -1,
  320,   -1,   -1,   -1,  324,   -1,  326,   -1,  328,   -1,
  330,   -1,   -1,   -1,   -1,  335,  336,   -1,  338,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  353,  354,   -1,  356,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  366,   -1,  368,   -1,
  370,  371,  372,   -1,  374,   -1,   -1,  377,  378,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  387,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  403,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  419,
   -1,   -1,   -1,   -1,   -1,  425,   -1,   -1,   -1,   -1,
  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  441,  442,   -1,  444,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,  267,
  268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,  286,   -1,
  288,  491,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,  508,   -1,
  308,   -1,  512,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  319,   -1,  321,  322,   -1,   -1,  527,   -1,  327,
   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,
   -1,  349,  350,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,  359,   -1,   -1,  362,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
  388,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,  606,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,  417,
  418,  419,  420,  421,  422,  423,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,
   -1,   43,  440,   45,   -1,   -1,   -1,  445,  446,  447,
  448,  449,  450,  451,  452,  453,   58,  455,  456,  457,
  458,   63,  460,  461,  462,  463,  464,  465,  466,  467,
  468,  469,  470,  471,  472,  473,  474,  475,  476,  477,
  478,  479,  480,   -1,  482,  483,  484,  485,  486,   -1,
  488,  489,  490,   -1,  492,  493,  494,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,   -1,  607,
   -1,  609,  610,  611,  612,  613,   -1,  615,  616,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
   -1,   -1,   -1,  265,   -1,  267,  268,  269,   -1,   -1,
   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,  286,   -1,  288,  289,   -1,  291,
  292,  293,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,  310,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,  347,   -1,  349,  350,  351,
   -1,  353,   -1,  355,   -1,   -1,  358,  359,   -1,   -1,
  362,  363,  364,   -1,   -1,   -1,   -1,   -1,  370,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,  388,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,  417,  418,  419,  420,  421,
  422,  423,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,  433,   -1,   -1,   40,   -1,   -1,   43,  440,   45,
   -1,   -1,   -1,  445,  446,  447,  448,  449,  450,  451,
  452,  453,   58,  455,  456,  457,  458,   63,  460,  461,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,  470,  471,
  472,  473,  474,  475,  476,  477,  478,  479,  480,   -1,
  482,  483,  484,  485,  486,   -1,  488,  489,  490,   -1,
  492,  493,  494,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,  519,  520,  521,
   -1,  523,  524,   -1,  526,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,   -1,  607,   -1,  609,  610,  611,
  612,  613,   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,
   -1,  267,  268,  269,   -1,   -1,   -1,   -1,  274,   -1,
   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,
  286,   -1,  288,   -1,   -1,  291,  292,  293,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,
   -1,   -1,  308,   -1,  310,  311,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  319,   -1,  321,  322,   -1,   -1,   -1,
   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,
   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,  347,   -1,  349,  350,  351,   -1,  353,   -1,  355,
   -1,   -1,  358,  359,   -1,   -1,  362,  363,  364,   -1,
   -1,   -1,   -1,   -1,  370,   -1,   -1,   -1,   -1,   -1,
  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,
  386,   -1,  388,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,   -1,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,  417,  418,  419,  420,  421,  422,  423,   -1,   -1,
   -1,  427,   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,
   40,   -1,   -1,   43,  440,   45,   -1,   -1,  444,  445,
  446,  447,  448,  449,  450,  451,  452,  453,   58,  455,
  456,  457,  458,   63,  460,  461,   -1,   -1,   -1,   -1,
   -1,   -1,  468,  469,  470,  471,  472,  473,  474,  475,
  476,  477,  478,  479,  480,   -1,  482,  483,  484,  485,
  486,   -1,  488,  489,  490,   -1,  492,  493,  494,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,
   -1,  517,   -1,  519,  520,  521,   -1,  523,  524,   -1,
  526,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,   -1,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
   -1,  607,   -1,  609,  610,  611,  612,  613,   -1,  615,
  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,   -1,   -1,   -1,  265,   -1,  267,  268,  269,
   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,  286,   -1,  288,   -1,
   -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,   -1,  349,
  350,  351,   -1,  353,   -1,  355,   -1,   -1,  358,  359,
   -1,   -1,  362,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,  388,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,  417,  418,  419,
  420,  421,  422,  423,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,   -1,   43,
  440,   45,   -1,   -1,   -1,  445,  446,  447,  448,  449,
  450,  451,  452,  453,   58,  455,  456,  457,  458,   63,
  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
  470,  471,  472,  473,  474,  475,  476,  477,  478,  479,
  480,   -1,  482,  483,  484,  485,  486,   -1,  488,  489,
  490,   -1,  492,  493,  494,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,  516,  517,   -1,  519,
  520,  521,  522,  523,  524,  525,  526,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,   -1,  607,   -1,  609,
  610,  611,  612,  613,   -1,  615,  616,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,  260,   -1,   -1,  263,
   -1,  265,   -1,  267,  268,  269,   -1,   -1,   -1,   -1,
  274,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,  286,   -1,  288,   -1,   -1,  291,  292,  293,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,  347,   -1,  349,  350,  351,   -1,  353,
   -1,  355,   -1,   -1,  358,  359,   -1,   -1,  362,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,  388,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,  415,  416,  417,  418,  419,  420,  421,  422,  423,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,  433,
   -1,   -1,   40,   -1,   -1,   43,  440,   45,   -1,   -1,
   -1,  445,  446,  447,  448,  449,  450,  451,  452,  453,
   58,  455,  456,  457,  458,   63,  460,  461,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,  470,  471,  472,  473,
  474,  475,  476,  477,  478,  479,  480,   -1,  482,  483,
  484,  485,  486,   -1,  488,  489,  490,   -1,  492,  493,
  494,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,  519,  520,  521,   -1,  523,
  524,   -1,  526,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,   -1,  607,   -1,  609,  610,  611,  612,  613,
   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,  260,   -1,   -1,  263,   -1,  265,   -1,  267,
  268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,  286,   -1,
  288,   -1,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  319,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,
   -1,  349,  350,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,  359,   -1,   -1,  362,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
  388,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,  415,  416,  417,
  418,  419,  420,  421,  422,  423,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,
   -1,   43,  440,   45,   -1,   -1,   -1,  445,  446,  447,
  448,  449,  450,  451,  452,  453,   58,  455,  456,  457,
  458,   63,  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,  470,  471,  472,  473,  474,  475,  476,  477,
  478,  479,  480,   -1,  482,  483,  484,  485,  486,   -1,
  488,  489,  490,   -1,  492,  493,  494,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,   -1,  607,
   -1,  609,  610,  611,  612,  613,   -1,  615,  616,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,  260,   -1,
   -1,  263,   -1,  265,   -1,  267,  268,  269,   -1,   -1,
   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,  286,   -1,  288,   -1,   -1,  291,
  292,  293,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,  347,   -1,  349,  350,  351,
   -1,  353,   -1,  355,   -1,   -1,  358,  359,   -1,   -1,
  362,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,  388,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,  415,  416,  417,  418,  419,  420,  421,
  422,  423,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,  433,   -1,   -1,   40,   -1,   -1,   43,  440,   45,
   -1,   -1,   -1,  445,  446,  447,  448,  449,  450,  451,
  452,  453,   58,  455,  456,  457,  458,   63,  460,  461,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,  470,  471,
  472,  473,  474,  475,  476,  477,  478,  479,  480,   -1,
  482,  483,  484,  485,  486,   -1,  488,  489,  490,   -1,
  492,  493,  494,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,  519,  520,  521,
   -1,  523,  524,   -1,  526,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,   -1,  607,   -1,  609,  610,  611,
  612,  613,   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,  260,   -1,   -1,  263,   -1,  265,
   -1,  267,  268,  269,   -1,   -1,   -1,   -1,  274,   -1,
   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,
  286,   -1,  288,   -1,   -1,  291,  292,  293,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,
   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  319,   -1,  321,  322,   -1,   -1,   -1,
   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,
   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,  347,   -1,  349,  350,  351,   -1,  353,   -1,  355,
   -1,   -1,  358,  359,   -1,   -1,  362,  363,  364,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,
  386,   -1,  388,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,   -1,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,  415,
  416,  417,  418,  419,  420,  421,  422,  423,   -1,   -1,
   -1,  427,   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,
   40,   -1,   -1,   43,  440,   45,   -1,   -1,   -1,  445,
  446,  447,  448,  449,  450,  451,  452,  453,   58,  455,
  456,  457,  458,   63,  460,  461,   -1,   -1,   -1,   -1,
   -1,   -1,  468,  469,  470,  471,  472,  473,  474,  475,
  476,  477,  478,  479,  480,   -1,  482,  483,  484,  485,
  486,   -1,  488,  489,  490,   -1,  492,  493,  494,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,
   -1,  517,   -1,  519,  520,  521,   -1,  523,  524,   -1,
  526,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,   -1,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
   -1,  607,   -1,  609,  610,  611,  612,  613,   -1,  615,
  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
  260,   -1,   -1,  263,   -1,  265,   -1,  267,  268,  269,
   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,  286,   -1,  288,   -1,
   -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,   -1,  349,
  350,  351,   -1,  353,   -1,  355,   -1,   -1,  358,  359,
   -1,   -1,  362,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,  388,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,  415,  416,  417,  418,  419,
  420,  421,  422,  423,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,   -1,   43,
  440,   45,   -1,   -1,   -1,  445,  446,  447,  448,  449,
  450,  451,  452,  453,   58,  455,  456,  457,  458,   63,
  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
  470,  471,  472,  473,  474,  475,  476,  477,  478,  479,
  480,   -1,  482,  483,  484,  485,  486,   -1,  488,  489,
  490,   -1,  492,  493,  494,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,  519,
  520,  521,   -1,  523,  524,   -1,  526,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,   -1,  607,   -1,  609,
  610,  611,  612,  613,   -1,  615,  616,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,  260,   -1,   -1,  263,
   -1,  265,   -1,  267,  268,  269,   -1,   -1,   -1,   -1,
  274,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,  286,   -1,  288,   -1,   -1,  291,  292,  293,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,  347,   -1,  349,  350,  351,   -1,  353,
   -1,  355,   -1,   -1,  358,  359,   -1,   -1,  362,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,  388,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,  415,  416,  417,  418,  419,  420,  421,  422,  423,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,  433,
   -1,   -1,   40,   -1,   -1,   43,  440,   45,   -1,   -1,
   -1,  445,  446,  447,  448,  449,  450,  451,  452,  453,
   58,  455,  456,  457,  458,   63,  460,  461,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,  470,  471,  472,  473,
  474,  475,  476,  477,  478,  479,  480,   -1,  482,  483,
  484,  485,  486,   -1,  488,  489,  490,   -1,  492,  493,
  494,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,  519,  520,  521,   -1,  523,
  524,   -1,  526,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,   -1,  607,   -1,  609,  610,  611,  612,  613,
   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,  260,   -1,   -1,  263,   -1,  265,   -1,  267,
  268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,  286,   -1,
  288,   -1,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  319,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,
   -1,  349,  350,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,  359,   -1,   -1,  362,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
  388,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,  415,  416,  417,
  418,  419,  420,  421,  422,  423,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,
   -1,   43,  440,   45,   -1,   -1,   -1,  445,  446,  447,
  448,  449,  450,  451,  452,  453,   58,  455,  456,  457,
  458,   63,  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,  470,  471,  472,  473,  474,  475,  476,  477,
  478,  479,  480,   -1,  482,  483,  484,  485,  486,   -1,
  488,  489,  490,   -1,  492,  493,  494,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,   -1,  607,
   -1,  609,  610,  611,  612,  613,   -1,  615,  616,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,  260,   -1,
   -1,  263,   -1,  265,   -1,  267,  268,  269,   -1,   -1,
   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,  286,   -1,  288,   -1,   -1,  291,
  292,  293,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,  347,   -1,  349,  350,  351,
   -1,  353,   -1,  355,   -1,   -1,  358,  359,   -1,   -1,
  362,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,  388,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,  415,  416,  417,  418,  419,  420,  421,
  422,  423,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,  433,   -1,   -1,   40,   -1,   -1,   43,  440,   45,
   -1,   -1,   -1,  445,  446,  447,  448,  449,  450,  451,
  452,  453,   58,  455,  456,  457,  458,   63,  460,  461,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,  470,  471,
  472,  473,  474,  475,  476,  477,  478,  479,  480,   -1,
  482,  483,  484,  485,  486,   -1,  488,  489,  490,   -1,
  492,  493,  494,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,  519,  520,  521,
   -1,  523,  524,   -1,  526,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,   -1,  607,   -1,  609,  610,  611,
  612,  613,   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,
   -1,  267,  268,  269,   -1,   -1,   -1,   -1,  274,   -1,
   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,
  286,   -1,  288,   -1,   -1,  291,  292,  293,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,
   -1,   -1,  308,   -1,  310,  311,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  319,   -1,  321,  322,   -1,   -1,   -1,
   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,
   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,  347,   -1,  349,  350,  351,   -1,  353,   -1,  355,
   -1,   -1,  358,  359,   -1,   -1,  362,  363,  364,   -1,
   -1,   -1,   -1,   -1,  370,   -1,   -1,   -1,   -1,   -1,
  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,
  386,   -1,  388,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,   -1,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,  417,  418,  419,  420,  421,  422,  423,   -1,   -1,
   -1,  427,   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,
   40,   -1,   42,   43,  440,   45,   -1,   -1,   -1,  445,
  446,  447,  448,  449,  450,  451,  452,  453,   58,  455,
  456,  457,  458,   63,  460,  461,   -1,   -1,   -1,   -1,
   -1,   -1,  468,  469,  470,  471,  472,  473,  474,  475,
  476,  477,  478,  479,  480,   -1,  482,  483,  484,  485,
  486,   -1,  488,  489,  490,   -1,  492,  493,  494,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,
   -1,  517,   -1,  519,  520,  521,   -1,  523,  524,   -1,
  526,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,   -1,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
   -1,  607,   -1,  609,  610,  611,  612,  613,   -1,  615,
  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
  260,   -1,   -1,   -1,   -1,  265,   -1,  267,  268,  269,
   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,  286,   -1,  288,   -1,
   -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,  299,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,   -1,  349,
  350,  351,   -1,  353,   -1,  355,   -1,   -1,  358,  359,
   -1,   -1,  362,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,  388,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,  417,  418,  419,
  420,  421,  422,  423,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,   -1,   43,
  440,   45,   -1,   -1,   -1,  445,  446,  447,  448,  449,
  450,  451,  452,  453,   58,  455,  456,  457,  458,   63,
  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
  470,  471,  472,  473,  474,  475,  476,  477,  478,  479,
  480,   -1,  482,  483,   -1,  485,  486,   -1,  488,  489,
  490,   -1,  492,  493,  494,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,  519,
  520,  521,   -1,  523,  524,   -1,  526,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,   -1,  607,   -1,  609,
  610,  611,  612,  613,   -1,  615,  616,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,   -1,   -1,
   -1,  265,   -1,  267,  268,  269,   -1,   -1,   -1,   -1,
  274,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,  286,   -1,  288,   -1,   -1,  291,  292,  293,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,  322,   -1,
   -1,   -1,    0,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,  347,   -1,  349,  350,  351,   -1,  353,
   -1,  355,    0,   -1,  358,  359,   -1,   -1,  362,  363,
  364,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   59,  386,   -1,  388,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   41,  398,  399,   44,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   59,  416,  417,  418,  419,  420,  421,  422,  423,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,  433,
   -1,   -1,   -1,   -1,   -1,   -1,  440,  441,   -1,   -1,
   -1,  445,  446,  447,  448,  449,  450,  451,  452,  453,
   -1,  455,  456,  457,  458,   -1,  460,  461,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,  470,  471,  472,  473,
  474,  475,  476,  477,  478,  479,  480,   -1,  482,  483,
  484,  485,  486,   -1,  488,  489,  490,   -1,  492,  493,
  494,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,  519,  520,  521,   -1,  523,
  524,   -1,  526,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,   -1,  607,   -1,  609,  610,  611,  612,  613,
   40,  615,  616,   43,  262,   45,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   -1,
   -1,   -1,   -1,   63,   -1,   -1,  314,   -1,   -1,  317,
   -1,   -1,   -1,   -1,   -1,   -1,  324,   -1,  326,   -1,
   -1,   -1,  330,   -1,   -1,   -1,   -1,  335,   -1,   -1,
  338,   -1,   -1,   -1,   -1,   -1,  314,   -1,   -1,  317,
   -1,   -1,   -1,   -1,   -1,  353,  324,   -1,  326,   -1,
   -1,   -1,  330,   -1,   -1,   -1,   -1,  335,  366,   -1,
  338,   -1,   -1,   -1,   -1,   -1,  374,   -1,   -1,  377,
  378,   -1,   -1,   -1,   -1,  353,   -1,   -1,   -1,  387,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  366,   -1,
   -1,   -1,   -1,   -1,   -1,  403,  374,   -1,   -1,  377,
  378,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  387,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  425,   -1,   -1,
   -1,   -1,  430,   -1,   -1,  403,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  441,  442,   -1,  444,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  425,   -1,   -1,
   -1,   -1,  430,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  441,  442,   -1,  444,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  491,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
  508,   -1,   -1,   -1,  512,  265,   -1,  267,  268,  269,
   -1,   -1,   -1,  491,  274,   -1,   -1,   -1,   -1,  527,
  280,  281,   -1,  283,   -1,  285,  286,   -1,  288,   -1,
  508,  291,  292,  293,  512,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,  527,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,   -1,  349,
  350,  351,   -1,  353,   -1,  355,   -1,   -1,  358,  359,
   -1,   -1,  362,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,  388,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,  417,  418,  419,
  420,  421,  422,  423,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,   42,   43,
  440,   45,   -1,   -1,  444,  445,  446,  447,  448,  449,
  450,  451,  452,  453,   58,  455,  456,  457,  458,   63,
  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
  470,  471,  472,  473,  474,  475,  476,  477,  478,  479,
  480,   -1,  482,  483,  484,  485,  486,   -1,  488,  489,
  490,   -1,  492,  493,  494,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,  519,
  520,  521,   -1,  523,  524,   -1,  526,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,   -1,  607,   -1,  609,
  610,  611,  612,  613,   -1,  615,  616,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,   -1,   -1,
   -1,  265,   -1,  267,  268,  269,   -1,   -1,   -1,   -1,
  274,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,  286,   -1,  288,   -1,   -1,  291,  292,  293,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,  347,   -1,  349,  350,  351,   -1,  353,
   -1,  355,   -1,   -1,  358,  359,   -1,   -1,  362,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,  388,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,  417,  418,  419,  420,  421,  422,  423,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,  433,
   -1,   -1,   40,   41,   -1,   43,  440,   45,   -1,   -1,
   -1,  445,  446,  447,  448,  449,  450,  451,  452,  453,
   58,  455,  456,  457,  458,   63,  460,  461,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,  470,  471,  472,  473,
  474,  475,  476,  477,  478,  479,  480,   -1,  482,  483,
  484,  485,  486,   -1,  488,  489,  490,   -1,  492,  493,
  494,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,  519,  520,  521,   -1,  523,
  524,   -1,  526,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,   -1,  607,   -1,  609,  610,  611,  612,  613,
   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,  267,
  268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,  286,   -1,
  288,   -1,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  319,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,
   -1,  349,  350,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,  359,   -1,   -1,  362,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
  388,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,  417,
  418,  419,  420,  421,  422,  423,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,
   -1,   43,  440,   45,   -1,   -1,   -1,  445,  446,  447,
  448,  449,  450,  451,  452,  453,   58,  455,  456,  457,
  458,   63,  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,  470,  471,  472,  473,  474,  475,  476,  477,
  478,  479,  480,   -1,  482,  483,  484,  485,  486,   -1,
  488,  489,  490,   -1,  492,  493,  494,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,   -1,  607,
   -1,  609,  610,  611,  612,  613,   -1,  615,  616,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
   -1,   -1,   -1,  265,   -1,  267,  268,  269,   -1,   -1,
   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,  286,   -1,  288,   -1,   -1,  291,
  292,  293,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,  347,   -1,  349,  350,  351,
   -1,  353,   -1,  355,   -1,   -1,  358,  359,   -1,   -1,
  362,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,  388,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,  417,  418,  419,  420,  421,
  422,  423,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,  433,   -1,   -1,   40,   -1,   -1,   43,  440,   45,
   -1,   -1,  444,  445,  446,  447,  448,  449,  450,  451,
  452,  453,   58,  455,  456,  457,  458,   63,  460,  461,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,  470,  471,
  472,  473,  474,  475,  476,  477,  478,  479,  480,   -1,
  482,  483,  484,  485,  486,   -1,  488,  489,  490,   -1,
  492,  493,  494,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,  519,  520,  521,
   -1,  523,  524,   -1,  526,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,   -1,  607,   -1,  609,  610,  611,
  612,  613,   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,
   -1,  267,  268,  269,   -1,   -1,   -1,   -1,  274,   -1,
   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,
  286,   -1,  288,   -1,   -1,  291,  292,  293,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,
   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,
  316,   -1,   -1,  319,   -1,  321,  322,   -1,   -1,   -1,
   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,
   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,  347,   -1,  349,  350,  351,   -1,  353,   -1,  355,
   -1,   -1,  358,  359,   -1,   -1,  362,  363,  364,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,
  386,   -1,  388,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,   -1,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,  417,  418,  419,  420,  421,  422,  423,   -1,   -1,
   -1,  427,   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,
   40,   -1,   -1,   43,  440,   45,   -1,   -1,   -1,  445,
  446,  447,  448,  449,  450,  451,  452,  453,   58,  455,
  456,  457,  458,   63,  460,  461,   -1,   -1,   -1,   -1,
   -1,   -1,  468,  469,  470,  471,  472,  473,  474,  475,
  476,  477,  478,  479,  480,   -1,  482,  483,  484,  485,
  486,   -1,  488,  489,  490,   -1,  492,  493,  494,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,
   -1,  517,   -1,  519,  520,  521,   -1,  523,  524,   -1,
  526,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,   -1,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
   -1,  607,   -1,  609,  610,  611,  612,  613,   -1,  615,
  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,   -1,   -1,   -1,  265,   -1,  267,  268,  269,
   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,  286,   -1,  288,   -1,
   -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,   -1,  349,
  350,  351,   -1,  353,   -1,  355,   -1,   -1,  358,  359,
   -1,   -1,  362,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,  388,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,  417,  418,  419,
  420,  421,  422,  423,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,   42,   43,
  440,   45,   -1,   -1,  444,  445,  446,  447,  448,  449,
  450,  451,  452,  453,   58,  455,  456,  457,  458,   63,
  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
  470,  471,  472,  473,  474,  475,  476,  477,  478,  479,
  480,   -1,  482,  483,  484,  485,  486,   -1,  488,  489,
  490,   -1,  492,  493,  494,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,  519,
  520,  521,   -1,  523,  524,   -1,  526,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,   -1,  607,   -1,  609,
  610,  611,  612,  613,   -1,  615,  616,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,  260,   -1,   -1,   -1,
   -1,  265,   -1,  267,  268,  269,   -1,   -1,   -1,   -1,
  274,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,  286,   -1,  288,   -1,   -1,  291,  292,  293,
   -1,   -1,   -1,   -1,  298,  299,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,  347,   -1,  349,  350,  351,   -1,  353,
   -1,  355,   -1,   -1,  358,  359,   -1,   -1,  362,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,  388,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,  417,  418,  419,  420,  421,  422,  423,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,  433,
   -1,   -1,   40,   -1,   42,   43,  440,   45,   -1,   -1,
   -1,  445,  446,  447,  448,  449,  450,  451,  452,  453,
   58,  455,  456,  457,  458,   63,  460,  461,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,  470,  471,  472,  473,
  474,  475,  476,  477,  478,  479,  480,   -1,  482,   -1,
   -1,  485,  486,   -1,  488,  489,  490,   -1,  492,  493,
  494,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,  519,  520,  521,   -1,  523,
  524,   -1,  526,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,   -1,  607,   -1,  609,  610,  611,  612,  613,
   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,  267,
  268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,  286,   -1,
  288,   -1,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  319,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,
   -1,  349,  350,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,  359,   -1,   -1,  362,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
  388,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,  417,
  418,  419,  420,  421,  422,  423,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,
   -1,   43,  440,   45,   -1,   -1,   -1,  445,  446,  447,
  448,  449,  450,  451,  452,  453,   58,  455,  456,  457,
  458,   63,  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,  470,  471,  472,  473,  474,  475,  476,  477,
  478,  479,  480,   -1,  482,  483,  484,  485,  486,   -1,
  488,  489,  490,   -1,  492,  493,  494,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,   -1,  607,
   -1,  609,  610,  611,  612,  613,   -1,  615,  616,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,
   -1,   -1,   -1,  265,   -1,  267,  268,  269,   -1,   -1,
   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,  286,   -1,  288,   -1,   -1,  291,
  292,  293,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,  347,   -1,  349,  350,  351,
   -1,  353,   -1,  355,   -1,   -1,  358,  359,   -1,   -1,
  362,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,  388,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,  403,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,  417,  418,  419,  420,  421,
  422,  423,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,  433,   -1,   -1,   40,   -1,   -1,   43,  440,   45,
   -1,   -1,   -1,  445,  446,  447,  448,  449,  450,  451,
  452,  453,   58,  455,  456,  457,  458,   63,  460,  461,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,  470,  471,
  472,  473,  474,  475,  476,  477,  478,  479,  480,   -1,
  482,  483,  484,  485,  486,   -1,  488,  489,  490,   -1,
  492,  493,  494,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,  519,  520,  521,
   -1,  523,  524,   -1,  526,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,   -1,  607,   -1,  609,  610,  611,
  612,  613,   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  257,   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,
   -1,  267,  268,  269,   -1,   -1,   -1,   -1,  274,   -1,
   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,
  286,   -1,  288,   -1,   -1,  291,  292,  293,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,
   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  319,   -1,  321,  322,   -1,   -1,   -1,
   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,
   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,  347,   -1,  349,  350,  351,   -1,  353,   -1,  355,
   -1,   -1,  358,  359,   -1,   -1,  362,  363,  364,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,
  386,   -1,  388,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,   -1,   -1,   -1,  403,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,  417,  418,  419,  420,  421,  422,  423,   -1,   -1,
   -1,  427,   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,
   40,   -1,   -1,   43,  440,   45,   -1,   -1,   -1,  445,
  446,  447,  448,  449,  450,  451,  452,  453,   58,  455,
  456,  457,  458,   63,  460,  461,   -1,   -1,   -1,   -1,
   -1,   -1,  468,  469,  470,  471,  472,  473,  474,  475,
  476,  477,  478,  479,  480,   -1,  482,  483,  484,  485,
  486,   -1,  488,  489,  490,   -1,  492,  493,  494,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,
   -1,  517,   -1,  519,  520,  521,   -1,  523,  524,   -1,
  526,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,   -1,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
   -1,  607,   -1,  609,  610,  611,  612,  613,   -1,  615,
  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,  259,
   -1,   -1,   -1,   -1,   -1,  265,   -1,  267,  268,  269,
   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,  286,   -1,  288,   -1,
   -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  319,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,   -1,  349,
  350,  351,   -1,  353,   -1,  355,   -1,   -1,  358,  359,
   -1,   -1,  362,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,  388,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,  417,  418,  419,
  420,  421,  422,  423,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,  433,   -1,   -1,   40,   -1,   -1,   43,
  440,   45,   -1,   -1,   -1,  445,  446,  447,  448,  449,
  450,  451,  452,  453,   58,  455,  456,  457,  458,   63,
  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
  470,  471,  472,  473,  474,  475,  476,  477,  478,  479,
  480,   -1,  482,  483,  484,  485,  486,   -1,  488,  489,
  490,   -1,  492,  493,  494,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,  519,
  520,  521,   -1,  523,  524,   -1,  526,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,   -1,  607,   -1,  609,
  610,  611,  612,  613,   -1,  615,  616,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  257,   -1,  259,   -1,   -1,   -1,   -1,
   -1,  265,   -1,  267,  268,  269,   -1,   -1,   -1,   -1,
  274,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,  286,   -1,  288,   -1,   -1,  291,  292,  293,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  319,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,  347,   -1,  349,  350,  351,   -1,  353,
   -1,  355,   -1,   -1,  358,  359,   -1,   -1,  362,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,  388,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,  403,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,  417,  418,  419,  420,  421,  422,  423,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,  433,
   -1,   -1,   40,   -1,   -1,   43,  440,   45,   -1,   -1,
   -1,  445,  446,  447,  448,  449,  450,  451,  452,  453,
   58,  455,  456,  457,  458,   63,  460,  461,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,  470,  471,  472,  473,
  474,  475,  476,  477,  478,  479,  480,   -1,  482,  483,
  484,  485,  486,   -1,  488,  489,  490,   -1,  492,  493,
  494,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,  519,  520,  521,   -1,  523,
  524,   -1,  526,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,   -1,  607,   -1,  609,  610,  611,  612,  613,
   -1,  615,  616,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,  267,
  268,  269,   -1,   -1,   -1,   -1,  274,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,  286,   -1,
  288,   -1,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  319,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,  347,
   -1,  349,  350,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,  359,   -1,   -1,  362,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
  388,   40,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,  417,
  418,  419,  420,  421,  422,  423,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,   -1,  433,   -1,   -1,   -1,   -1,
   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,  446,  447,
  448,  449,  450,  451,  452,  453,   -1,  455,  456,  457,
  458,   -1,  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,  470,  471,  472,  473,  474,  475,  476,  477,
  478,  479,  480,   -1,  482,  483,  484,  485,  486,   -1,
  488,  489,  490,   -1,  492,  493,  494,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  257,  607,
  259,  609,  610,  611,  612,  613,  265,  615,  616,  268,
  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,
   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,
  329,   -1,  331,  332,   -1,   -1,   -1,   -1,  337,   -1,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,  366,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,  378,
   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,   -1,
   40,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,   58,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,
  429,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,
  509,  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,   -1,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  257,  607,  259,
  609,  610,  611,  612,  613,  265,  615,   -1,  268,  269,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,   -1,   40,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  257,  607,  259,  609,
  610,  611,  612,  613,  265,  615,   -1,  268,  269,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,
  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,
  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,
  381,  382,  383,  384,   -1,  386,   -1,   -1,   40,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,
   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
   -1,   -1,   -1,  444,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,
  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
   -1,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  257,  607,  259,  609,  610,
  611,  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,   -1,   40,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,
   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,   -1,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  257,  607,  259,  609,  610,  611,
  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,
   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,
  383,  384,   -1,  386,   -1,   -1,   -1,   -1,   42,  392,
   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,
   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,
   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,   -1,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,   -1,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  257,  607,  259,  609,  610,  611,  612,
  613,  265,  615,   -1,  268,  269,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,  293,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,
   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,   -1,   -1,   -1,   42,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,   -1,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,
   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,   -1,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  257,  607,  259,  609,  610,  611,  612,  613,
  265,  615,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,
  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,
   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,
   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,
  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,
   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,   44,  394,
  395,   -1,   -1,  398,  399,   -1,   -1,   -1,   -1,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,   -1,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,   -1,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  257,  607,  259,  609,  610,  611,  612,  613,  265,
  615,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,
   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,
   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,
  316,   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,
   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,
   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,  355,
   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,
  386,   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,   -1,   -1,   45,   -1,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,   -1,
   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,
  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,   -1,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,   -1,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
   -1,  607,   -1,  609,  610,  611,  612,  613,  257,  615,
  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,   -1,  268,
  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,
   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,
  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,   -1,   -1,  355,    0,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,
   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   41,  398,
  399,   44,   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   59,  416,   61,  418,
  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,
  429,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,   -1,   -1,   -1,   -1,  445,  446,   91,  448,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,   -1,   -1,    0,   -1,   -1,   -1,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   41,   -1,   -1,   44,
  509,  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   59,   -1,   61,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   91,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,   -1,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,   -1,  607,   -1,
  609,  610,  611,  612,  613,  258,  615,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  273,   -1,   -1,  276,  277,   -1,   -1,   -1,  281,   -1,
   -1,  284,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  296,   -1,   -1,   -1,   -1,   -1,  302,
   -1,   -1,  305,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  347,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  258,   -1,   -1,   -1,  370,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  273,   -1,
   -1,  276,  277,   -1,   -1,   -1,  281,   -1,  391,  284,
   -1,   -1,   -1,   -1,  397,   -1,   -1,   -1,  401,   -1,
   -1,  296,   -1,   -1,   -1,  408,   -1,  302,   -1,   -1,
  305,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  426,   -1,   -1,   -1,   -1,  431,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  347,  456,   -1,   -1,   -1,  460,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  370,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  391,   -1,   -1,   -1,
   -1,   -1,  397,   -1,   -1,   -1,  401,   -1,   -1,   -1,
   -1,   -1,   -1,  408,   -1,   -1,  257,   -1,  259,   -1,
   -1,   -1,   -1,   -1,  265,   -1,   -1,  268,  269,   -1,
   -1,  426,   -1,   -1,   -1,   -1,  431,   -1,   -1,  280,
  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,  559,  298,   -1,  300,
  301,  456,   -1,   -1,  305,  460,   -1,  308,   -1,   -1,
  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,    0,
  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,
   41,   -1,   -1,   44,   -1,  376,   -1,   -1,   -1,  380,
  381,  382,  383,  384,   -1,  386,   -1,   -1,   59,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,
   -1,   -1,   -1,   -1,  559,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,   -1,    0,  427,   -1,  429,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,   -1,   -1,   -1,   -1,   -1,   41,  468,  469,   44,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   59,   -1,   -1,   -1,  489,  490,
   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,
  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
   -1,  582,  583,  584,  585,    0,  587,  588,  589,  590,
  591,  262,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,   -1,  607,   -1,  609,  610,
  611,  612,  613,   -1,  615,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,
    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  314,   59,   -1,  317,   -1,   -1,   -1,
   -1,   -1,   -1,  324,   -1,  326,   -1,   -1,   -1,  330,
   -1,   -1,   -1,   -1,  335,   -1,   -1,  338,   -1,   -1,
   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  353,   -1,   -1,   -1,   -1,  262,   -1,   59,
   -1,   -1,   -1,   -1,   -1,  366,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  374,   -1,   -1,  377,  378,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  387,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  403,   -1,   -1,   -1,   -1,   -1,   -1,  314,
   -1,   -1,  317,   -1,   -1,   -1,   -1,   -1,   -1,  324,
   -1,  326,   -1,   -1,  425,  330,    0,   -1,   -1,  430,
  335,   -1,   -1,  338,   -1,   41,   -1,   -1,   44,   -1,
  441,  442,   -1,  444,   -1,   -1,   -1,   -1,  353,   -1,
   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  366,   -1,   -1,   -1,   -1,   -1,   41,   -1,  374,
   44,   -1,  377,  378,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  387,   -1,   -1,   59,   -1,   -1,   -1,   -1,
  491,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  403,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  508,   -1,   -1,
   -1,  512,   -1,   -1,   -1,   -1,   -1,  262,   -1,   -1,
  425,   -1,   -1,   -1,   -1,  430,  527,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  441,  442,   -1,  444,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  262,   -1,   -1,   -1,   -1,   -1,   -1,  314,
   -1,   -1,  317,   -1,   -1,   -1,   -1,   -1,   -1,  324,
   -1,  326,   -1,   -1,    0,  330,  491,   -1,   -1,   -1,
  335,   -1,   -1,  338,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  508,   -1,   -1,   -1,  512,  353,   -1,
   -1,   -1,   -1,   -1,  314,   -1,    0,  317,   -1,   -1,
   -1,  366,  527,   -1,  324,   41,  326,   -1,   44,  374,
  330,   -1,  377,  378,   -1,  335,   -1,   -1,  338,   -1,
   -1,   -1,  387,   59,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  353,   -1,   -1,  262,   41,  403,   -1,
   44,   -1,   -1,   -1,   -1,   -1,  366,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  374,   59,   -1,  377,  378,   -1,
  425,   -1,   -1,   -1,   -1,  430,   -1,  387,  262,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  441,  442,   -1,  444,
   -1,   -1,   -1,  403,   -1,   -1,   -1,   -1,  314,   -1,
    0,  317,   -1,   -1,   -1,   -1,   -1,   -1,  324,   -1,
  326,   -1,   -1,   -1,  330,  425,   -1,   -1,   -1,  335,
  430,   -1,  338,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  314,  441,  442,  317,  444,   -1,  491,  353,   -1,   -1,
  324,   41,  326,   -1,   44,    0,  330,   -1,   -1,   -1,
  366,  335,   -1,  508,  338,   -1,   -1,  512,  374,   59,
   -1,  377,  378,   -1,   -1,   -1,   -1,   -1,   -1,  353,
   -1,  387,  527,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  491,  366,   -1,   -1,   -1,   41,  403,   -1,   44,
  374,   -1,   -1,  377,  378,   -1,   -1,   -1,  508,   -1,
   -1,   -1,  512,  387,   59,   -1,   -1,   -1,   -1,  425,
   -1,   -1,   -1,   -1,  430,   -1,   -1,  527,   -1,  403,
   -1,   -1,   -1,   -1,   -1,  441,  442,   -1,  444,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  262,   -1,   -1,   -1,
   -1,  425,   -1,    0,   -1,   -1,  430,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  441,  442,   -1,
  444,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  262,   -1,
   -1,   -1,   -1,   -1,   -1,  491,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,  314,   -1,
   -1,  317,  508,   -1,   -1,   -1,  512,   -1,  324,   -1,
  326,   -1,   59,   -1,  330,   -1,   -1,  491,   -1,  335,
   -1,  527,  338,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  314,   -1,   -1,  317,  508,   -1,   -1,  353,  512,   -1,
  324,   -1,  326,   -1,   -1,   -1,  330,   -1,   -1,   -1,
  366,  335,   -1,  527,  338,   -1,   -1,   -1,  374,   -1,
   -1,  377,  378,    0,   -1,   -1,   -1,   -1,   -1,  353,
   -1,  387,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  366,   -1,   -1,   -1,   -1,  403,   -1,   -1,
  374,   -1,   -1,  377,  378,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  387,   41,   -1,   -1,   44,   -1,  425,
   -1,   -1,   -1,   -1,  430,   -1,   -1,  262,   -1,  403,
   -1,    0,   59,   -1,  314,  441,  442,  317,  444,   -1,
   -1,   -1,   -1,   -1,  324,   -1,  326,   -1,   -1,   -1,
  330,  425,   -1,   -1,   -1,  335,  430,   -1,  338,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  441,  442,    0,
  444,   -1,   41,  353,   -1,   44,   -1,   -1,   -1,  314,
   -1,   -1,  317,   -1,   -1,  491,  366,   -1,   -1,  324,
   59,  326,   -1,   -1,  374,  330,   -1,  377,  378,   -1,
  335,   -1,  508,  338,   -1,   -1,  512,  387,   -1,   -1,
   41,   -1,   -1,   44,   -1,   -1,   -1,  491,  353,   -1,
   -1,  527,   -1,  403,   -1,  262,   -1,   -1,   59,   -1,
   -1,  366,   -1,   -1,  508,   -1,   -1,   -1,  512,  374,
   -1,   -1,  377,  378,   -1,  425,   -1,   -1,   -1,   -1,
  430,   -1,  387,  527,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  441,  442,   -1,  444,   -1,   -1,   -1,  403,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  314,   -1,    0,
  317,   -1,   -1,   -1,   -1,   -1,   -1,  324,   -1,  326,
  425,   -1,   -1,  330,   -1,  430,   -1,   -1,  335,   -1,
   -1,  338,   -1,   -1,   -1,   -1,  441,  442,   -1,  444,
   -1,  491,   -1,   -1,   -1,   -1,  353,   -1,   -1,   -1,
   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,  508,  366,
   -1,   -1,  512,   -1,   -1,  262,   -1,  374,   59,   -1,
  377,  378,   -1,   -1,   -1,   -1,   -1,  527,   -1,   -1,
  387,   -1,   -1,   -1,   -1,   -1,  491,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  403,   -1,   -1,   -1,
   -1,   -1,   -1,  508,   -1,    0,   -1,  512,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  314,  425,   -1,
  317,   -1,  527,  430,   -1,   -1,   -1,  324,   -1,  326,
   -1,   -1,   -1,  330,  441,  442,   -1,  444,  335,   -1,
   -1,  338,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,
   -1,   -1,   -1,   -1,   -1,   -1,  353,   -1,   -1,   -1,
   -1,  262,   -1,    0,   59,   -1,   -1,   -1,   -1,  366,
   -1,   -1,   -1,   -1,   -1,  314,   -1,  374,  317,   -1,
  377,  378,   -1,   -1,  491,  324,   -1,  326,   -1,   -1,
  387,  330,   -1,   -1,   -1,   -1,  335,   -1,   -1,  338,
   -1,  508,   -1,   -1,   41,  512,  403,   44,   -1,   -1,
   -1,   -1,   -1,  314,  353,   -1,  317,   -1,   -1,   -1,
  527,   -1,   59,  324,   -1,  326,   -1,  366,  425,  330,
   -1,   -1,   -1,  430,  335,  374,   -1,  338,   -1,  378,
   -1,   -1,   -1,   -1,  441,  442,   -1,  444,  387,   -1,
   -1,   -1,  353,   -1,   -1,   -1,   -1,    0,   -1,   -1,
   -1,   -1,   -1,   -1,  403,  366,   -1,   -1,   -1,   -1,
   -1,  262,   -1,  374,   -1,   -1,  377,  378,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  387,   -1,   -1,   -1,
   -1,  430,   -1,   -1,  491,   -1,   -1,   -1,   41,   -1,
   -1,   44,  403,  442,   -1,  444,   -1,   -1,   -1,   -1,
   -1,  508,   -1,   -1,   -1,  512,   59,   -1,   -1,   -1,
   -1,   -1,   -1,  314,  425,   -1,  317,   -1,   -1,  430,
  527,   -1,   -1,  324,   -1,  326,   -1,   -1,    0,  330,
  441,  442,   -1,  444,  335,   -1,   -1,  338,   -1,   -1,
   -1,   -1,  491,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  353,   -1,   -1,   -1,   -1,  262,   -1,  508,
   -1,   -1,   -1,  512,   -1,  366,   -1,   -1,   -1,   41,
   -1,   -1,   44,  374,   -1,   -1,  377,  378,  527,   -1,
  491,   -1,   -1,   -1,   -1,   -1,  387,   59,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  508,   -1,   -1,
   -1,  512,  403,   -1,   -1,   -1,   -1,   -1,   -1,  314,
   -1,   -1,  317,   -1,   -1,  262,  527,   -1,   -1,  324,
   -1,  326,    0,   -1,  425,  330,   -1,   -1,   -1,  430,
  335,   -1,   -1,  338,   -1,   -1,   -1,   -1,   -1,   -1,
  441,  442,   -1,  444,   -1,   -1,   -1,   -1,  353,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  366,   -1,   41,   -1,   -1,   44,  314,   -1,  374,
  317,   -1,  377,  378,   -1,   -1,   -1,  324,   -1,  326,
   -1,   59,  387,  330,   -1,   -1,   -1,   -1,  335,   -1,
  491,  338,   -1,   -1,   -1,   -1,   -1,   -1,  403,   -1,
   -1,   -1,   -1,    0,   -1,   -1,  353,  508,   -1,  262,
   -1,  512,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  366,
  425,   -1,   -1,   -1,   -1,  430,  527,  374,   -1,   -1,
  377,  378,   -1,   -1,   -1,   -1,  441,  442,   -1,  444,
  387,   -1,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  403,   -1,   -1,   -1,
   -1,  314,   59,   -1,  317,   -1,   -1,   -1,   -1,   -1,
   -1,  324,   -1,  326,   -1,   -1,   -1,  330,  425,   -1,
   -1,   -1,  335,  430,   -1,  338,  491,   -1,   -1,   -1,
  262,   -1,   -1,   -1,  441,  442,   -1,  444,   -1,   -1,
  353,   -1,   -1,  508,   -1,   -1,   -1,  512,   -1,   -1,
   -1,   -1,   -1,  366,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  374,  527,   -1,  377,  378,    0,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  387,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  314,   -1,  491,  317,   -1,   -1,   -1,   -1,
  403,   -1,  324,   -1,  326,   -1,   -1,   -1,  330,   -1,
   -1,  508,   -1,  335,   -1,  512,  338,   41,   -1,   -1,
   44,   -1,  425,   -1,   -1,   -1,   -1,  430,   -1,   -1,
  527,  353,   -1,   -1,  262,   59,   -1,   -1,  441,  442,
   -1,  444,   -1,   -1,  366,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  374,   -1,   -1,  377,  378,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  387,   -1,   -1,   -1,   -1,
    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  403,   -1,   -1,   -1,   -1,  314,   -1,  491,  317,
   -1,   -1,   -1,   -1,   -1,   -1,  324,   -1,  326,   -1,
   -1,   -1,  330,  425,   -1,  508,   -1,  335,  430,  512,
  338,   41,   -1,   -1,   44,  262,   -1,   -1,   -1,  441,
  442,   -1,  444,   -1,  527,  353,   -1,   -1,   -1,   59,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  366,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  374,   -1,   -1,  377,
  378,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  387,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  314,   -1,  491,
  317,   -1,   -1,   -1,   -1,  403,   -1,  324,   -1,  326,
   -1,   -1,   -1,  330,   -1,   -1,  508,   -1,  335,   -1,
  512,  338,   41,   -1,   -1,   44,   -1,  425,   -1,   -1,
   -1,   -1,  430,   -1,   -1,  527,  353,   -1,   -1,    0,
   59,   -1,   -1,  441,  442,   -1,  444,   -1,   -1,  366,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  374,   -1,   -1,
  377,  378,   -1,   -1,   -1,   -1,   -1,   -1,  262,   -1,
  387,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   41,   -1,   -1,   44,   -1,   -1,  403,   -1,   -1,   -1,
   -1,   -1,   -1,  491,   -1,   -1,   -1,   -1,   59,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  425,   -1,
  508,   -1,   -1,  430,  512,   -1,   -1,   -1,   -1,   -1,
  314,   -1,   -1,  317,  441,  442,   -1,  444,   -1,  527,
  324,   -1,  326,   -1,   -1,    0,  330,   -1,   -1,   -1,
   -1,  335,   -1,   -1,  338,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  353,
   -1,   -1,  262,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  366,   -1,  491,   40,   41,   -1,   -1,   44,
  374,   -1,   -1,  377,  378,   -1,   -1,   -1,   -1,   -1,
   -1,  508,   -1,  387,   59,  512,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  403,
  527,   -1,   -1,   -1,  314,   -1,   -1,  317,   -1,   -1,
   -1,   -1,   -1,   -1,  324,   -1,  326,   -1,   -1,   -1,
  330,  425,   -1,   -1,   -1,  335,  430,   -1,  338,   -1,
   -1,   -1,   -1,  262,   -1,   -1,   -1,  441,  442,   -1,
  444,   -1,   -1,  353,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  366,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  374,   -1,   -1,  377,  378,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  387,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  314,   -1,  491,  317,   -1,
   -1,  262,   -1,  403,   -1,  324,   -1,  326,   -1,   -1,
   -1,  330,   -1,   -1,  508,   -1,  335,   -1,  512,  338,
   -1,   -1,   -1,   -1,   -1,  425,   -1,   -1,   -1,   -1,
  430,   -1,   -1,  527,  353,   -1,   -1,   -1,   -1,   -1,
   -1,  441,  442,   -1,  444,   -1,   -1,  366,   -1,   -1,
   -1,   -1,   -1,  314,   -1,  374,  317,   -1,  377,  378,
   -1,   -1,   -1,  324,   -1,  326,   -1,   -1,  387,  330,
   -1,   -1,   -1,   -1,  335,   -1,   -1,  338,   -1,   -1,
   -1,   -1,   -1,   -1,  403,   -1,   -1,   -1,   -1,   -1,
   -1,  491,  353,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  366,  425,   -1,  508,   -1,
   -1,  430,  512,  374,   -1,   -1,  377,  378,   -1,   -1,
   -1,   -1,  441,  442,   -1,  444,  387,  527,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  403,   -1,   -1,   -1,   -1,   -1,   -1,  314,
   -1,   -1,  317,   -1,   -1,   -1,   -1,   -1,   -1,  324,
   -1,  326,   -1,   -1,  425,  330,   -1,   -1,   -1,  430,
  335,   -1,  491,  338,   -1,   -1,   -1,   -1,   -1,   -1,
  441,  442,   -1,  444,   -1,   -1,   -1,   -1,  353,  508,
   -1,   -1,   -1,  512,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  366,   -1,   -1,   -1,   -1,   -1,   -1,  527,  374,
   -1,   -1,   -1,  378,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  387,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  491,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  403,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  508,   -1,   -1,
  257,  512,  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,
   -1,  268,  269,   -1,   -1,  430,  527,   -1,   -1,   -1,
   -1,   -1,   -1,  280,  281,   -1,  283,  442,  285,  444,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,
   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,
  327,   -1,  329,   -1,  331,   -1,  491,   -1,   -1,   -1,
  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,  508,  351,   -1,   -1,  512,  355,   -1,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,
   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,
   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,
  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,  454,  455,  456,
  457,  458,  459,  460,  461,  462,  463,  464,  465,  466,
  467,  468,  469,  470,  471,  472,  473,  474,   -1,   -1,
  477,  478,  479,  480,  481,  482,  483,  484,  485,  486,
  487,  488,  489,  490,  491,  492,  493,  494,  495,  496,
  497,  498,  499,  500,  501,  502,  503,  504,  505,  506,
  507,  508,  509,  510,  511,  512,  513,  514,  515,  516,
  517,  518,  519,  520,  521,  522,  523,  524,  525,  526,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,  548,  549,  550,  551,  552,  553,  554,  555,  556,
  557,  558,  559,  560,  561,  562,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,  581,  582,  583,  584,  585,  586,
  587,  588,  589,  590,  591,  592,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,   -1,  615,  616,
  257,   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,
   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,
   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,
  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,
  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,
   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,
   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,
  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,  454,  455,  456,
  457,  458,   -1,  460,  461,  462,  463,  464,  465,  466,
  467,  468,  469,  470,  471,  472,  473,  474,   -1,   -1,
  477,  478,  479,  480,  481,  482,  483,  484,  485,  486,
  487,  488,  489,  490,  491,  492,  493,  494,  495,  496,
  497,  498,  499,  500,  501,  502,  503,  504,  505,  506,
  507,  508,  509,  510,  511,  512,  513,  514,  515,  516,
  517,  518,  519,  520,  521,  522,  523,  524,  525,  526,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,  548,  549,  550,  551,  552,  553,  554,  555,  556,
  557,  558,  559,  560,  561,  562,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,  581,  582,  583,  584,  585,  586,
  587,  588,  589,  590,  591,  592,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  606,
  607,   -1,  609,  610,  611,  612,  613,   -1,  615,  616,
  257,   -1,  259,   -1,   -1,   -1,   -1,   -1,  265,   -1,
   -1,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
  297,  298,   -1,  300,  301,   -1,   -1,  304,  305,   -1,
   -1,  308,  309,   -1,  311,   -1,   -1,  314,   -1,   -1,
   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,
  327,  328,  329,   -1,  331,   -1,  333,   -1,   -1,   -1,
  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,  349,   -1,  351,   -1,  353,   -1,  355,   -1,
   -1,  358,   -1,   -1,  361,   -1,  363,  364,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,
   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,
   -1,  388,  389,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,
  407,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,
  427,   -1,  429,   -1,   -1,  432,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,  441,   -1,  443,  444,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,   -1,  460,  461,   -1,   -1,   -1,   -1,   -1,
   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,   -1,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,  505,  506,
  507,   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,
  517,   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,   -1,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  257,
  607,  259,  609,  610,  611,  612,  613,  265,  615,   -1,
  268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,  297,
  298,   -1,  300,  301,   -1,   -1,  304,  305,   -1,   -1,
  308,  309,   -1,  311,   -1,   -1,  314,   -1,   -1,   -1,
   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
  328,  329,   -1,  331,   -1,  333,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,  349,   -1,  351,   -1,  353,   -1,  355,   -1,   -1,
  358,   -1,   -1,  361,   -1,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
  388,  389,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,  403,   -1,   -1,  406,  407,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,  432,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,   -1,   -1,  443,  444,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,  505,  506,  507,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,  519,  520,  521,   -1,  523,  524,   -1,  526,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  257,  607,
  259,  609,  610,  611,  612,  613,  265,  615,   -1,  268,
  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,  297,  298,
   -1,  300,  301,   -1,   -1,  304,  305,   -1,   -1,  308,
  309,   -1,  311,   -1,   -1,  314,   -1,   -1,   -1,   -1,
   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,  328,
  329,   -1,  331,   -1,  333,   -1,   -1,   -1,  337,   -1,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
  349,   -1,  351,   -1,  353,   -1,  355,   -1,   -1,  358,
   -1,   -1,  361,   -1,  363,  364,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,
   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,  388,
  389,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,   -1,   -1,   -1,  403,   -1,   -1,  406,  407,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,
  429,   -1,   -1,  432,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,   -1,   -1,  443,  444,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,  505,  506,  507,   -1,
  509,  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,
  519,  520,  521,   -1,  523,  524,   -1,  526,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,   -1,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  257,  607,  259,
  609,  610,  611,  612,  613,  265,  615,   -1,  268,  269,
  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,  297,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,  309,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,  328,  329,
   -1,  331,   -1,  333,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,  349,
   -1,  351,   -1,  353,   -1,  355,   -1,   -1,  358,   -1,
   -1,  361,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,  388,  389,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,  403,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,  432,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,   -1,   -1,   -1,  444,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,  461,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,  505,  506,  507,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,  519,
  520,  521,   -1,  523,  524,   -1,  526,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  257,  607,  259,  609,
  610,  611,  612,  613,  265,  615,   -1,  268,  269,   -1,
   -1,  272,   -1,   -1,  275,   -1,   -1,   -1,   -1,  280,
  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,  290,
  291,  292,   -1,  294,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,
  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,
  331,   -1,   -1,  334,   -1,   -1,  337,   -1,  339,  340,
  341,  342,  343,  344,  345,  346,   -1,  348,   -1,   -1,
  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,  365,   -1,  367,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,
  381,  382,  383,  384,   -1,  386,   -1,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,  396,   -1,  398,  399,   -1,
   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,  413,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,
   -1,   -1,   -1,   -1,  435,   -1,   -1,   -1,   -1,  440,
   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,  470,
  471,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,  487,   -1,  489,  490,
   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,
  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
   -1,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  257,  607,  259,  609,  610,
  611,  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,
  272,   -1,   -1,  275,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
  292,   -1,  294,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,  334,   -1,   -1,  337,   -1,  339,  340,  341,
  342,  343,  344,  345,  346,   -1,  348,   -1,   -1,  351,
   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,  365,   -1,  367,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,  396,   -1,  398,  399,   -1,   -1,
   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,  413,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,   -1,   -1,  435,   -1,   -1,   -1,   -1,  440,   -1,
   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,  470,  471,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,  487,   -1,  489,  490,   -1,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  257,  607,  259,  609,  610,  611,
  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,  272,
   -1,   -1,  275,   -1,   -1,   -1,   -1,  280,  281,   -1,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,  292,
   -1,  294,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,
   -1,  334,   -1,   -1,  337,   -1,  339,  340,  341,  342,
  343,  344,  345,  346,   -1,  348,   -1,   -1,  351,   -1,
   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,  365,   -1,  367,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,
  383,  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,  396,   -1,  398,  399,   -1,   -1,   -1,
   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
  413,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,
   -1,   -1,  435,   -1,   -1,   -1,   -1,  440,   -1,   -1,
   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  468,  469,  470,  471,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,  487,   -1,  489,  490,   -1,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,   -1,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  257,  607,  259,  609,  610,  611,  612,
  613,  265,  615,   -1,  268,  269,   -1,   -1,  272,   -1,
   -1,  275,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,  292,   -1,
  294,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
  334,   -1,   -1,  337,   -1,  339,  340,  341,  342,  343,
  344,  345,  346,   -1,  348,   -1,   -1,  351,   -1,   -1,
   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,  365,   -1,  367,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,  396,   -1,  398,  399,   -1,   -1,   -1,   -1,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,  413,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,
   -1,  435,   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,
   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,  470,  471,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,  487,   -1,  489,  490,   -1,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,   -1,  607,   -1,  609,  610,  611,  612,  613,
  257,  615,  259,  260,   -1,   -1,   -1,   -1,  265,   -1,
   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
  297,  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,
   -1,  308,  309,   -1,  311,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,
  327,   -1,  329,   -1,  331,   -1,  333,   -1,   -1,   -1,
  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,
   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,
   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
  397,  398,  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,
  407,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,
  427,   -1,  429,   -1,   -1,  432,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,   -1,  460,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,   -1,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,   -1,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  257,
  607,  259,  609,  610,  611,  612,  613,  265,  615,   -1,
  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,  297,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,  309,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
   -1,  329,   -1,  331,   -1,  333,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,  397,
  398,  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,  407,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,  432,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,   -1,  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  257,  607,
  259,  609,  610,  611,  612,  613,  265,  615,   -1,  268,
  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,
   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  321,  322,   -1,  324,   -1,   -1,  327,   -1,
  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,
   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,   -1,
   -1,   -1,   -1,  392,  393,  394,  395,   -1,   -1,  398,
  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,  428,
  429,   -1,   -1,   -1,  433,   -1,   -1,   -1,   -1,   -1,
  439,  440,   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,
  509,  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,   -1,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  257,  607,  259,
  609,  610,  611,  612,  613,  265,  615,   -1,  268,  269,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,  338,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,
   -1,  361,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  257,  607,  259,  609,
  610,  611,  612,  613,  265,  615,   -1,  268,  269,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,
  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,
  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  376,  377,   -1,   -1,  380,
  381,  382,  383,  384,   -1,  386,   -1,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,
   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,
  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
   -1,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  257,  607,  259,  609,  610,
  611,  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,
   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,   -1,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,  581,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  257,  607,  259,  609,  610,  611,
  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,
   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,
  383,  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,
   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,
  433,   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,
   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,   -1,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,   -1,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  257,  607,  259,  609,  610,  611,  612,
  613,  265,  615,   -1,  268,  269,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
  284,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,
   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,   -1,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,
   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,   -1,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,  601,  602,  603,
  604,  605,  257,  607,  259,  609,  610,  611,  612,  613,
  265,  615,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,  284,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,
  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,
   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,
   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,
  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,
   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,
  395,   -1,   -1,  398,  399,   -1,   -1,   -1,   -1,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,   -1,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  527,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,   -1,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,  257,  607,  259,  609,  610,  611,  612,  613,  265,
  615,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,
   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,
   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,
   -1,   -1,  308,   -1,   -1,  311,  312,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,
   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,
   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,  355,
   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,
  386,   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,
   -1,   -1,  398,  399,   -1,   -1,   -1,   -1,   -1,   -1,
  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,
  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,   -1,
   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,
  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,
  456,  457,  458,   -1,  460,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,
   -1,   -1,   -1,  489,  490,   -1,  492,  493,   -1,  495,
   -1,   -1,  498,  499,  500,  501,  502,  503,  504,   -1,
   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,
   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  527,  528,  529,  530,  531,  532,  533,  534,  535,
  536,  537,  538,  539,  540,  541,  542,  543,  544,  545,
  546,  547,   -1,  549,  550,  551,  552,  553,  554,   -1,
  556,  557,  558,  559,   -1,  561,   -1,  563,  564,  565,
  566,  567,  568,  569,  570,  571,  572,  573,  574,  575,
  576,  577,  578,  579,  580,   -1,  582,  583,  584,  585,
   -1,  587,  588,  589,  590,  591,   -1,  593,  594,  595,
  596,  597,  598,  599,  600,  601,  602,  603,  604,  605,
  257,  607,  259,  609,  610,  611,  612,  613,  265,  615,
   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,
   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,
   -1,  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,
   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,
  327,   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,
  337,   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,
   -1,  358,   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,
   -1,   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,
   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,
   -1,  398,  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,
   -1,   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,
   -1,  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,
  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,  446,
   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,
  457,  458,  459,  460,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,
   -1,   -1,  489,  490,   -1,  492,  493,   -1,  495,   -1,
   -1,  498,  499,  500,  501,  502,  503,  504,   -1,   -1,
   -1,   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,
  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  527,  528,  529,  530,  531,  532,  533,  534,  535,  536,
  537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
  547,   -1,  549,  550,  551,  552,  553,  554,   -1,  556,
  557,  558,  559,   -1,  561,   -1,  563,  564,  565,  566,
  567,  568,  569,  570,  571,  572,  573,  574,  575,  576,
  577,  578,  579,  580,   -1,  582,  583,  584,  585,   -1,
  587,  588,  589,  590,  591,   -1,  593,  594,  595,  596,
  597,  598,  599,  600,  601,  602,  603,  604,  605,  257,
  607,  259,  609,  610,  611,  612,  613,  265,  615,   -1,
  268,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,
  288,   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,
  298,   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,
  308,   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,
   -1,  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,
   -1,  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,
  358,   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,
   -1,   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,
   -1,   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,
  398,  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,   -1,
   -1,  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,
  418,  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,
   -1,  429,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  440,   -1,   -1,   -1,   -1,  445,  446,   -1,
   -1,   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,
  458,  459,  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  468,  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,
   -1,  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,
  498,  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,
   -1,  509,  510,  511,   -1,  513,  514,  515,   -1,  517,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,
  528,  529,  530,  531,  532,  533,  534,  535,  536,  537,
  538,  539,  540,  541,  542,  543,  544,  545,  546,  547,
   -1,  549,  550,  551,  552,  553,  554,   -1,  556,  557,
  558,  559,   -1,  561,   -1,  563,  564,  565,  566,  567,
  568,  569,  570,  571,  572,  573,  574,  575,  576,  577,
  578,  579,  580,   -1,  582,  583,  584,  585,   -1,  587,
  588,  589,  590,  591,   -1,  593,  594,  595,  596,  597,
  598,  599,  600,  601,  602,  603,  604,  605,  257,  607,
  259,  609,  610,  611,  612,  613,  265,  615,   -1,  268,
  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,
   -1,   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,
   -1,  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,
   -1,   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,
  329,   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,
  339,   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,  358,
   -1,   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,
   -1,  380,  381,  382,  383,  384,   -1,  386,   -1,   -1,
   -1,   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,
  399,   -1,   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,
  409,  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,
  419,  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,
  429,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  440,   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,
   -1,  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,
   -1,  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,
  469,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  479,  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,
  489,  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,
  499,  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,
  509,  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,
  529,  530,  531,  532,  533,  534,  535,  536,  537,  538,
  539,  540,  541,  542,  543,  544,  545,  546,  547,   -1,
  549,  550,  551,  552,  553,  554,   -1,  556,  557,  558,
  559,   -1,  561,   -1,  563,  564,  565,  566,  567,  568,
  569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
  579,  580,   -1,  582,  583,  584,  585,   -1,  587,  588,
  589,  590,  591,   -1,  593,  594,  595,  596,  597,  598,
  599,  600,  601,  602,  603,  604,  605,  257,  607,  259,
  609,  610,  611,  612,  613,  265,  615,   -1,  268,  269,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  280,  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,
   -1,  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,
  300,  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,
   -1,  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,
   -1,  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,
   -1,   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,
   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,
  380,  381,  382,  383,  384,   -1,  386,   -1,   -1,   -1,
   -1,   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,
   -1,   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,
  410,  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,
  420,  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  440,   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,
  450,   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,
  460,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,
  480,   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,
  490,   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,
  500,  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,
  510,  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,
  530,  531,  532,  533,  534,  535,  536,  537,  538,  539,
  540,  541,  542,  543,  544,  545,  546,  547,   -1,  549,
  550,  551,  552,  553,  554,   -1,  556,  557,  558,  559,
   -1,  561,   -1,  563,  564,  565,  566,  567,  568,  569,
  570,  571,  572,  573,  574,  575,  576,  577,  578,  579,
  580,   -1,  582,  583,  584,  585,   -1,  587,  588,  589,
  590,  591,   -1,  593,  594,  595,  596,  597,  598,  599,
  600,  601,  602,  603,  604,  605,  257,  607,  259,  609,
  610,  611,  612,  613,  265,  615,   -1,  268,  269,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
  281,   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,
  291,   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,
  301,   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,
  311,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  321,  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,
  331,   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,
   -1,   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  351,   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,
   -1,   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,
  381,  382,  383,  384,   -1,  386,   -1,   -1,   -1,   -1,
   -1,  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,
   -1,   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,
  411,  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,
  421,  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,
   -1,   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,
   -1,   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,
   -1,  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,
   -1,  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,
  501,  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,
  511,   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,
  531,  532,  533,  534,  535,  536,  537,  538,  539,  540,
  541,  542,  543,  544,  545,  546,  547,   -1,  549,  550,
  551,  552,  553,  554,   -1,  556,  557,  558,  559,   -1,
  561,   -1,  563,  564,  565,  566,  567,  568,  569,  570,
  571,  572,  573,  574,  575,  576,  577,  578,  579,  580,
   -1,  582,  583,  584,  585,   -1,  587,  588,  589,  590,
  591,   -1,  593,  594,  595,  596,  597,  598,  599,  600,
  601,  602,  603,  604,  605,  257,  607,  259,  609,  610,
  611,  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,
   -1,  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,
   -1,   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,
   -1,   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,
  322,   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,
   -1,   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,
   -1,  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,
   -1,   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,
   -1,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,
  382,  383,  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,
  392,   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,
   -1,   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,
  412,   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,
  422,   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,
   -1,   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,
   -1,  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,
  482,  483,  484,   -1,   -1,   -1,   -1,  489,  490,   -1,
  492,  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,
  502,  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,
   -1,  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,
  532,  533,  534,  535,  536,  537,  538,  539,  540,  541,
  542,  543,  544,  545,  546,  547,   -1,  549,  550,  551,
  552,  553,  554,   -1,  556,  557,  558,  559,   -1,  561,
   -1,  563,  564,  565,  566,  567,  568,  569,  570,  571,
  572,  573,  574,  575,  576,  577,  578,  579,  580,   -1,
  582,  583,  584,  585,   -1,  587,  588,  589,  590,  591,
   -1,  593,  594,  595,  596,  597,  598,  599,  600,  601,
  602,  603,  604,  605,  257,  607,  259,  609,  610,  611,
  612,  613,  265,  615,   -1,  268,  269,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,
  283,   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,
   -1,   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,
   -1,   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
   -1,   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,
   -1,   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,
  343,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,
   -1,   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,
  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,
  383,  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,
   -1,  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,
   -1,   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,
   -1,  414,   -1,  416,   -1,  418,  419,  420,  421,  422,
   -1,   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,
   -1,   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,
  453,   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,
  483,  484,   -1,   -1,   -1,   -1,  489,  490,   -1,  492,
  493,   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,
  503,  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,
  513,  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,
  533,  534,  535,  536,  537,  538,  539,  540,  541,  542,
  543,  544,  545,  546,  547,   -1,  549,  550,  551,  552,
  553,  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,
  563,  564,  565,  566,  567,  568,  569,  570,  571,  572,
  573,  574,  575,  576,  577,  578,  579,  580,   -1,  582,
  583,  584,  585,   -1,  587,  588,  589,  590,  591,   -1,
  593,  594,  595,  596,  597,  598,  599,  600,  601,  602,
  603,  604,  605,  257,  607,  259,  609,  610,  611,  612,
  613,  265,  615,   -1,  268,  269,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,
   -1,  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,
   -1,   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,
   -1,  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,
   -1,   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,
   -1,   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,
   -1,  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,
  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,
  384,   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,   -1,
  394,  395,   -1,   -1,  398,  399,   -1,   -1,   -1,   -1,
   -1,   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,
  414,   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,
   -1,   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,
   -1,  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,
   -1,  455,  456,  457,  458,   -1,  460,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,
  484,   -1,   -1,   -1,   -1,  489,  490,   -1,  492,  493,
   -1,  495,   -1,   -1,  498,  499,  500,  501,  502,  503,
  504,   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,
  514,  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  527,  528,  529,  530,  531,  532,  533,
  534,  535,  536,  537,  538,  539,  540,  541,  542,  543,
  544,  545,  546,  547,   -1,  549,  550,  551,  552,  553,
  554,   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,
  564,  565,  566,  567,  568,  569,  570,  571,  572,  573,
  574,  575,  576,  577,  578,  579,  580,   -1,  582,  583,
  584,  585,   -1,  587,  588,  589,  590,  591,   -1,  593,
  594,  595,  596,  597,  598,  599,  600,   -1,  602,  603,
  604,  605,  257,  607,  259,  609,  610,  611,  612,  613,
  265,  615,   -1,  268,  269,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  280,  281,   -1,  283,   -1,
  285,   -1,   -1,  288,   -1,   -1,  291,   -1,   -1,   -1,
   -1,   -1,   -1,  298,   -1,  300,  301,   -1,   -1,   -1,
  305,   -1,   -1,  308,   -1,   -1,  311,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,   -1,
   -1,   -1,  327,   -1,  329,   -1,  331,   -1,   -1,   -1,
   -1,   -1,  337,   -1,  339,   -1,   -1,   -1,  343,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  351,   -1,   -1,   -1,
  355,   -1,   -1,  358,   -1,   -1,   -1,   -1,  363,  364,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  376,   -1,   -1,   -1,  380,  381,  382,  383,  384,
   -1,  386,   -1,   -1,   -1,   -1,   -1,  392,   -1,  394,
  395,   -1,   -1,  398,  399,   -1,   -1,   -1,   -1,   -1,
   -1,  406,   -1,   -1,  409,  410,  411,  412,   -1,  414,
   -1,  416,   -1,  418,  419,  420,  421,  422,   -1,   -1,
   -1,   -1,  427,   -1,  429,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  440,   -1,   -1,   -1,   -1,
  445,  446,   -1,   -1,   -1,  450,   -1,   -1,  453,   -1,
  455,  456,  457,  458,   -1,  460,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  468,  469,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  479,  480,   -1,  482,  483,  484,
   -1,   -1,   -1,   -1,  489,  490,   -1,  492,  493,   -1,
  495,   -1,   -1,  498,  499,  500,  501,  502,  503,  504,
   -1,   -1,   -1,   -1,  509,  510,  511,   -1,  513,  514,
  515,   -1,  517,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  528,  529,  530,  531,  532,  533,  534,
  535,  536,  537,  538,  539,  540,  541,  542,  543,  544,
  545,  546,  547,   -1,  549,  550,  551,  552,  553,  554,
   -1,  556,  557,  558,  559,   -1,  561,   -1,  563,  564,
  565,  566,  567,  568,  569,  570,  571,  572,  573,  574,
  575,  576,  577,  578,  579,  580,   -1,  582,  583,  584,
  585,   -1,  587,  588,  589,  590,  591,   -1,  593,  594,
  595,  596,  597,  598,  599,  600,  601,  602,  603,  604,
  605,   -1,  607,   -1,  609,  610,  611,  612,  613,   -1,
  615,
};
static int yyctable[] = {                                    306,
   57,   -1,  835,  867,   -1,  576,  819,   -1,  577,  819,
   -1,  577,  817,   -1, 1075, 1208,   -1, 1176,  753,   -1,
 1182,  768,   -1, 1048, 1331,   -1, 1049, 1332,   -1, 1050,
 1333,   -1, 1439, 1110,   -1,  835,  862,   -1,  281, 1319,
   -1,  214,  846,   -1,
};
#define YYFINAL 22
#ifndef YYDEBUG
#define YYDEBUG 0
#endif
#define YYMAXTOKEN 618
#if YYDEBUG
static const char *yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,0,0,0,0,0,
"':'","';'","'<'","'='","'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"ACTIVE","ADD","AFTER","ALL","ALTER","AND","ANY",
"AS","ASC","AT","AVG","AUTO","BEFORE","BEGIN","BETWEEN","BLOB","BY","CAST",
"CHARACTER","CHECK","COLLATE","COMMA","COMMIT","COMMITTED","COMPUTED",
"CONCATENATE","CONDITIONAL","CONSTRAINT","CONTAINING","COUNT","CREATE",
"CSTRING","CURRENT","CURSOR","DATABASE","DATE","DB_KEY","DECIMAL","DECLARE",
"DEFAULT","KW_DELETE","DESC","DISTINCT","DO","DOMAIN","DROP","ELSE","END",
"ENTRY_POINT","EQL","ESCAPE","EXCEPTION","EXECUTE","EXISTS","EXIT","EXTERNAL",
"FILTER","FOR","FOREIGN","FROM","FULL","FUNCTION","GDSCODE","GEQ","GENERATOR",
"GEN_ID","GRANT","GROUP","GTR","HAVING","IF","KW_IN","INACTIVE","INNER",
"INPUT_TYPE","INDEX","INSERT","INTEGER","INTO","IS","ISOLATION","JOIN","KEY",
"KW_CHAR","KW_DEC","KW_DOUBLE","KW_FILE","KW_FLOAT","KW_INT","KW_LONG",
"KW_NULL","KW_NUMERIC","KW_UPPER","KW_VALUE","LENGTH","LPAREN","LEFT","LEQ",
"LEVEL","LIKE","LSS","MANUAL","MAXIMUM","MAX_SEGMENT","MERGE","MINIMUM",
"MODULE_NAME","NAMES","NATIONAL","NATURAL","NCHAR","NEQ","NO","NOT","NOT_GTR",
"NOT_LSS","OF","ON","ONLY","OPTION","OR","ORDER","OUTER","OUTPUT_TYPE",
"OVERFLOW","PAGE","PAGES","KW_PAGE_SIZE","PARAMETER","PASSWORD","PLAN",
"POSITION","POST_EVENT","PRECISION","PRIMARY","PRIVILEGES","PROCEDURE",
"PROTECTED","READ","REAL","REFERENCES","RESERVING","RETAIN","RETURNING_VALUES",
"RETURNS","REVOKE","RIGHT","RPAREN","ROLLBACK","SEGMENT","SELECT","SET",
"SHADOW","KW_SHARED","SINGULAR","KW_SIZE","SMALLINT","SNAPSHOT","SOME","SORT",
"SQLCODE","STABILITY","STARTING","STATISTICS","SUB_TYPE","SUSPEND","SUM",
"TABLE","THEN","TO","TRANSACTION","TRIGGER","UNCOMMITTED","UNION","UNIQUE",
"UPDATE","USER","VALUES","VARCHAR","VARIABLE","VARYING","VERSION","VIEW","WAIT",
"WHEN","WHERE","WHILE","WITH","WORK","WRITE","FLOAT_NUMBER","NUMBER","NUMERIC",
"SYMBOL","STRING","INTRODUCER","ACTION","ADMIN","CASCADE","FREE_IT","RESTRICT",
"ROLE","COLUMN","KW_TYPE","EXTRACT","YEAR","MONTH","DAY","HOUR","MINUTE",
"SECOND","WEEKDAY","YEARDAY","TIME","TIMESTAMP","CURRENT_DATE","CURRENT_TIME",
"CURRENT_TIMESTAMP","NUMBER64BIT","SCALEDINT","CURRENT_USER","CURRENT_ROLE",
"KW_BREAK","SUBSTRING","RECREATE","KW_DESCRIPTOR","FIRST","SKIP",
"CURRENT_CONNECTION","CURRENT_TRANSACTION","BIGINT","CASE","NULLIF","COALESCE",
"USING","NULLS","LAST","ROW_COUNT","LOCK","SAVEPOINT","RELEASE","STATEMENT",
"LEAVE","INSERTING","UPDATING","DELETING","BACKUP","KW_DIFFERENCE","OPEN",
"CLOSE","FETCH","ROWS","BLOCK","IIF","SCALAR_ARRAY","CROSS","NEXT","SEQUENCE",
"RESTART","BOTH","COLLATION","COMMENT","BIT_LENGTH","CHAR_LENGTH",
"CHARACTER_LENGTH","LEADING","KW_LOWER","OCTET_LENGTH","TRAILING","TRIM",
"RETURNING","KW_IGNORE","LIMBO","UNDO","REQUESTS","TIMEOUT","ABS","ACCENT",
"ACOS","ALWAYS","ASCII_CHAR","ASCII_VAL","ASIN","ATAN","ATAN2","BIN_AND",
"BIN_OR","BIN_SHL","BIN_SHR","BIN_XOR","CEIL","CONNECT","COS","COSH","COT",
"DATEADD","DATEDIFF","DECODE","DISCONNECT","EXP","FLOOR","GEN_UUID","GENERATED",
"GLOBAL","HASH","INSENSITIVE","LIST","LN","LOG","LOG10","LPAD","MATCHED",
"MATCHING","MAXVALUE","MILLISECOND","MINVALUE","MOD","OVERLAY","PAD","PI",
"PLACING","POWER","PRESERVE","RAND","RECURSIVE","REPLACE","REVERSE","ROUND",
"RPAD","SENSITIVE","SIGN","SIN","SINH","SPACE","SQRT","START","TAN","TANH",
"TEMPORARY","TRUNC","WEEK","AUTONOMOUS","CHAR_TO_UUID","FIRSTNAME","GRANTED",
"LASTNAME","MIDDLENAME","MAPPING","OS_NAME","SIMILAR","UUID_TO_CHAR","DUMP",
"CALLER","COMMON","DATA","SOURCE","TWO_PHASE","BIND_PARAM","BIN_NOT","SQLSTATE",
"UMINUS","UPLUS",
};
static const char *yyrule[] = {
"$accept : top",
"top : statement",
"top : statement ';'",
"statement : alter",
"statement : blob_io",
"statement : comment",
"statement : commit",
"statement : create",
"statement : create_or_alter",
"statement : declare",
"statement : delete",
"statement : drop",
"statement : grant",
"statement : insert",
"statement : merge",
"statement : exec_procedure",
"statement : exec_block",
"statement : recreate",
"statement : revoke",
"statement : rollback",
"statement : savepoint",
"statement : select",
"statement : set",
"statement : update",
"statement : update_or_insert",
"statement : dump",
"grant : GRANT privileges ON table_noise simple_table_name TO non_role_grantee_list grant_option granted_by",
"grant : GRANT proc_privileges ON PROCEDURE simple_proc_name TO non_role_grantee_list grant_option granted_by",
"grant : GRANT role_name_list TO role_grantee_list role_admin_option granted_by",
"table_noise : TABLE",
"table_noise :",
"privileges : ALL",
"privileges : ALL PRIVILEGES",
"privileges : privilege_list",
"privilege_list : privilege",
"privilege_list : privilege_list ',' privilege",
"proc_privileges : EXECUTE",
"privilege : SELECT",
"privilege : INSERT",
"privilege : KW_DELETE",
"privilege : UPDATE column_parens_opt",
"privilege : REFERENCES column_parens_opt",
"grant_option : WITH GRANT OPTION",
"grant_option :",
"role_admin_option : WITH ADMIN OPTION",
"role_admin_option :",
"granted_by : granted_by_text grantor",
"granted_by :",
"granted_by_text : GRANTED BY",
"granted_by_text : AS",
"grantor : role_grantee",
"simple_proc_name : symbol_procedure_name",
"revoke : REVOKE rev_grant_option privileges ON table_noise simple_table_name FROM non_role_grantee_list granted_by",
"revoke : REVOKE rev_grant_option proc_privileges ON PROCEDURE simple_proc_name FROM non_role_grantee_list granted_by",
"revoke : REVOKE rev_admin_option role_name_list FROM role_grantee_list granted_by",
"revoke : REVOKE ALL ON ALL FROM non_role_grantee_list",
"rev_grant_option : GRANT OPTION FOR",
"rev_grant_option :",
"rev_admin_option : ADMIN OPTION FOR",
"rev_admin_option :",
"non_role_grantee_list : grantee_list",
"non_role_grantee_list : user_grantee_list",
"grantee_list : grantee",
"grantee_list : grantee_list ',' grantee",
"grantee_list : grantee_list ',' user_grantee",
"grantee_list : user_grantee_list ',' grantee",
"grantee : PROCEDURE symbol_procedure_name",
"grantee : TRIGGER symbol_trigger_name",
"grantee : VIEW symbol_view_name",
"grantee : ROLE symbol_role_name",
"user_grantee_list : user_grantee",
"user_grantee_list : user_grantee_list ',' user_grantee",
"user_grantee : symbol_user_name",
"user_grantee : USER symbol_user_name",
"user_grantee : GROUP symbol_user_name",
"role_name_list : role_name",
"role_name_list : role_name_list ',' role_name",
"role_name : symbol_role_name",
"role_grantee_list : role_grantee",
"role_grantee_list : role_grantee_list ',' role_grantee",
"role_grantee : symbol_user_name",
"role_grantee : USER symbol_user_name",
"declare : DECLARE declare_clause",
"declare_clause : FILTER filter_decl_clause",
"declare_clause : EXTERNAL FUNCTION udf_decl_clause",
"udf_decl_clause : symbol_UDF_name arg_desc_list1 RETURNS return_value1 ENTRY_POINT sql_string MODULE_NAME sql_string",
"udf_data_type : simple_type",
"udf_data_type : BLOB",
"udf_data_type : CSTRING '(' pos_short_integer ')' charset_clause",
"arg_desc_list1 :",
"arg_desc_list1 : arg_desc_list",
"arg_desc_list1 : '(' arg_desc_list ')'",
"arg_desc_list : arg_desc",
"arg_desc_list : arg_desc_list ',' arg_desc",
"arg_desc : init_data_type udf_data_type param_mechanism",
"param_mechanism :",
"param_mechanism : BY KW_DESCRIPTOR",
"param_mechanism : BY SCALAR_ARRAY",
"param_mechanism : KW_NULL",
"return_value1 : return_value",
"return_value1 : '(' return_value ')'",
"return_value : init_data_type udf_data_type return_mechanism",
"return_value : PARAMETER pos_short_integer",
"return_mechanism :",
"return_mechanism : BY KW_VALUE",
"return_mechanism : BY KW_DESCRIPTOR",
"return_mechanism : FREE_IT",
"return_mechanism : BY KW_DESCRIPTOR FREE_IT",
"filter_decl_clause : symbol_filter_name INPUT_TYPE blob_filter_subtype OUTPUT_TYPE blob_filter_subtype ENTRY_POINT sql_string MODULE_NAME sql_string",
"blob_filter_subtype : symbol_blob_subtype_name",
"blob_filter_subtype : signed_short_integer",
"create : CREATE create_clause",
"create_clause : EXCEPTION exception_clause",
"create_clause : unique_opt order_direction INDEX symbol_index_name ON simple_table_name index_definition",
"create_clause : PROCEDURE procedure_clause",
"create_clause : TABLE table_clause",
"create_clause : GLOBAL TEMPORARY TABLE gtt_table_clause",
"create_clause : TRIGGER trigger_clause",
"create_clause : VIEW view_clause",
"create_clause : GENERATOR generator_clause",
"create_clause : SEQUENCE generator_clause",
"create_clause : DATABASE db_clause",
"create_clause : DOMAIN domain_clause",
"create_clause : SHADOW shadow_clause",
"create_clause : ROLE role_clause",
"create_clause : COLLATION collation_clause",
"create_clause : USER create_user_clause",
"recreate : RECREATE recreate_clause",
"recreate_clause : PROCEDURE rprocedure_clause",
"recreate_clause : TABLE rtable_clause",
"recreate_clause : GLOBAL TEMPORARY TABLE gtt_recreate_clause",
"recreate_clause : VIEW rview_clause",
"recreate_clause : TRIGGER rtrigger_clause",
"recreate_clause : EXCEPTION rexception_clause",
"create_or_alter : CREATE OR ALTER replace_clause",
"replace_clause : PROCEDURE replace_procedure_clause",
"replace_clause : TRIGGER replace_trigger_clause",
"replace_clause : VIEW replace_view_clause",
"replace_clause : EXCEPTION replace_exception_clause",
"exception_clause : symbol_exception_name sql_string",
"rexception_clause : symbol_exception_name sql_string",
"replace_exception_clause : symbol_exception_name sql_string",
"alter_exception_clause : symbol_exception_name sql_string",
"unique_opt : UNIQUE",
"unique_opt :",
"index_definition : column_list",
"index_definition : column_parens",
"index_definition : computed_by '(' begin_trigger value end_trigger ')'",
"shadow_clause : pos_short_integer manual_auto conditional sql_string first_file_length sec_shadow_files",
"manual_auto : MANUAL",
"manual_auto : AUTO",
"manual_auto :",
"conditional :",
"conditional : CONDITIONAL",
"first_file_length :",
"first_file_length : LENGTH equals long_integer page_noise",
"sec_shadow_files :",
"sec_shadow_files : db_file_list",
"db_file_list : db_file",
"db_file_list : db_file_list db_file",
"domain_clause : column_def_name as_opt data_type domain_default_opt domain_constraint_clause collate_clause",
"as_opt : AS",
"as_opt :",
"domain_default : DEFAULT begin_trigger default_value end_default",
"domain_default_opt : domain_default",
"domain_default_opt :",
"domain_constraint_clause : domain_constraint_list",
"domain_constraint_clause :",
"domain_constraint_list : domain_constraint_def",
"domain_constraint_list : domain_constraint_list domain_constraint_def",
"domain_constraint_def : domain_constraint",
"domain_constraint : null_constraint",
"domain_constraint : check_constraint",
"null_constraint : NOT KW_NULL",
"check_constraint : CHECK begin_trigger '(' search_condition ')' end_trigger",
"generator_clause : symbol_generator_name",
"role_clause : symbol_role_name",
"collation_clause : symbol_collation_name FOR symbol_character_set_name collation_sequence_definition collation_attribute_list_opt collation_specific_attribute_opt",
"collation_sequence_definition : FROM symbol_collation_name",
"collation_sequence_definition : FROM EXTERNAL '(' sql_string ')'",
"collation_sequence_definition :",
"collation_attribute_list_opt :",
"collation_attribute_list_opt : collation_attribute_list",
"collation_attribute_list : collation_attribute",
"collation_attribute_list : collation_attribute_list collation_attribute",
"collation_attribute : collation_pad_attribute",
"collation_attribute : collation_case_attribute",
"collation_attribute : collation_accent_attribute",
"collation_pad_attribute : NO PAD",
"collation_pad_attribute : PAD SPACE",
"collation_case_attribute : CASE SENSITIVE",
"collation_case_attribute : CASE INSENSITIVE",
"collation_accent_attribute : ACCENT SENSITIVE",
"collation_accent_attribute : ACCENT INSENSITIVE",
"collation_specific_attribute_opt :",
"collation_specific_attribute_opt : sql_string",
"alter_charset_clause : symbol_character_set_name SET DEFAULT COLLATION symbol_collation_name",
"db_clause : db_name db_initial_desc1 db_rem_desc1",
"equals :",
"equals : '='",
"db_name : sql_string",
"db_initial_desc1 :",
"db_initial_desc1 : db_initial_desc",
"db_initial_desc : db_initial_option",
"db_initial_desc : db_initial_desc db_initial_option",
"db_initial_option : KW_PAGE_SIZE equals pos_short_integer",
"db_initial_option : LENGTH equals long_integer page_noise",
"db_initial_option : USER sql_string",
"db_initial_option : PASSWORD sql_string",
"db_initial_option : SET NAMES sql_string",
"db_rem_desc1 :",
"db_rem_desc1 : db_rem_desc",
"db_rem_desc : db_rem_option",
"db_rem_desc : db_rem_desc db_rem_option",
"db_rem_option : db_file",
"db_rem_option : DEFAULT CHARACTER SET symbol_character_set_name",
"db_rem_option : DEFAULT CHARACTER SET symbol_character_set_name COLLATION symbol_collation_name",
"db_rem_option : KW_DIFFERENCE KW_FILE sql_string",
"db_file : file1 sql_string file_desc1",
"file1 : KW_FILE",
"file_desc1 :",
"file_desc1 : file_desc",
"file_desc : file_clause",
"file_desc : file_desc file_clause",
"file_clause : STARTING file_clause_noise long_integer",
"file_clause : LENGTH equals long_integer page_noise",
"file_clause_noise :",
"file_clause_noise : AT",
"file_clause_noise : AT PAGE",
"page_noise :",
"page_noise : PAGE",
"page_noise : PAGES",
"table_clause : simple_table_name external_file '(' table_elements ')'",
"rtable_clause : simple_table_name external_file '(' table_elements ')'",
"gtt_table_clause : simple_table_name '(' table_elements ')' gtt_scope",
"gtt_recreate_clause : simple_table_name '(' table_elements ')' gtt_scope",
"gtt_scope : ON COMMIT PRESERVE ROWS",
"gtt_scope : ON COMMIT KW_DELETE ROWS",
"gtt_scope :",
"external_file : EXTERNAL KW_FILE sql_string",
"external_file : EXTERNAL sql_string",
"external_file :",
"table_elements : table_element",
"table_elements : table_elements ',' table_element",
"table_element : column_def",
"table_element : table_constraint_definition",
"column_def : column_def_name data_type_or_domain domain_default_opt column_constraint_clause collate_clause",
"column_def : column_def_name non_array_type def_computed",
"column_def : column_def_name def_computed",
"def_computed : computed_clause '(' begin_trigger value end_trigger ')'",
"computed_clause : computed_by",
"computed_clause : GENERATED ALWAYS AS",
"computed_by : COMPUTED BY",
"computed_by : COMPUTED",
"data_type_or_domain : data_type",
"data_type_or_domain : simple_column_name",
"collate_clause : COLLATE symbol_collation_name",
"collate_clause :",
"column_def_name : simple_column_name",
"simple_column_def_name : simple_column_name",
"data_type_descriptor : init_data_type data_type",
"data_type_descriptor : KW_TYPE OF column_def_name",
"data_type_descriptor : KW_TYPE OF COLUMN symbol_column_name '.' symbol_column_name",
"data_type_descriptor : column_def_name",
"init_data_type :",
"default_value : constant",
"default_value : current_user",
"default_value : current_role",
"default_value : internal_info",
"default_value : null_value",
"default_value : datetime_value_expression",
"column_constraint_clause :",
"column_constraint_clause : column_constraint_list",
"column_constraint_list : column_constraint_def",
"column_constraint_list : column_constraint_list column_constraint_def",
"column_constraint_def : constraint_name_opt column_constraint",
"column_constraint : null_constraint",
"column_constraint : check_constraint",
"column_constraint : REFERENCES simple_table_name column_parens_opt referential_trigger_action constraint_index_opt",
"column_constraint : UNIQUE constraint_index_opt",
"column_constraint : PRIMARY KEY constraint_index_opt",
"table_constraint_definition : constraint_name_opt table_constraint",
"constraint_name_opt : CONSTRAINT symbol_constraint_name",
"constraint_name_opt :",
"table_constraint : unique_constraint",
"table_constraint : primary_constraint",
"table_constraint : referential_constraint",
"table_constraint : check_constraint",
"unique_constraint : UNIQUE column_parens constraint_index_opt",
"primary_constraint : PRIMARY KEY column_parens constraint_index_opt",
"referential_constraint : FOREIGN KEY column_parens REFERENCES simple_table_name column_parens_opt referential_trigger_action constraint_index_opt",
"constraint_index_opt : USING order_direction INDEX symbol_index_name",
"constraint_index_opt :",
"referential_trigger_action : update_rule",
"referential_trigger_action : delete_rule",
"referential_trigger_action : delete_rule update_rule",
"referential_trigger_action : update_rule delete_rule",
"referential_trigger_action :",
"update_rule : ON UPDATE referential_action",
"delete_rule : ON KW_DELETE referential_action",
"referential_action : CASCADE",
"referential_action : SET DEFAULT",
"referential_action : SET KW_NULL",
"referential_action : NO ACTION",
"procedure_clause : symbol_procedure_name input_parameters output_parameters AS begin_string local_declaration_list full_proc_block end_trigger",
"rprocedure_clause : symbol_procedure_name input_parameters output_parameters AS begin_string local_declaration_list full_proc_block end_trigger",
"replace_procedure_clause : symbol_procedure_name input_parameters output_parameters AS begin_string local_declaration_list full_proc_block end_trigger",
"alter_procedure_clause : symbol_procedure_name input_parameters output_parameters AS begin_string local_declaration_list full_proc_block end_trigger",
"input_parameters : '(' input_proc_parameters ')'",
"input_parameters :",
"output_parameters : RETURNS '(' output_proc_parameters ')'",
"output_parameters :",
"input_proc_parameters : input_proc_parameter",
"input_proc_parameters : input_proc_parameters ',' input_proc_parameter",
"input_proc_parameter : simple_column_def_name domain_or_non_array_type collate_clause default_par_opt",
"output_proc_parameters : proc_parameter",
"output_proc_parameters : output_proc_parameters ',' proc_parameter",
"proc_parameter : simple_column_def_name domain_or_non_array_type collate_clause",
"default_par_opt : DEFAULT begin_trigger default_value end_default",
"default_par_opt : '=' begin_trigger default_value end_default",
"default_par_opt :",
"local_declaration_list : local_declarations",
"local_declaration_list :",
"local_declarations : local_declaration",
"local_declarations : local_declarations local_declaration",
"local_declaration : stmt_start_line stmt_start_column DECLARE var_decl_opt local_declaration_item ';'",
"local_declaration_item : var_declaration_item",
"local_declaration_item : cursor_declaration_item",
"var_declaration_item : column_def_name domain_or_non_array_type collate_clause default_par_opt",
"var_decl_opt : VARIABLE",
"var_decl_opt :",
"cursor_declaration_item : symbol_cursor_name CURSOR FOR '(' select ')'",
"proc_block : proc_statement",
"proc_block : full_proc_block",
"full_proc_block : stmt_start_line stmt_start_column BEGIN full_proc_block_body END",
"full_proc_block_body : proc_statements",
"full_proc_block_body : proc_statements excp_hndl_statements",
"full_proc_block_body :",
"proc_statements : proc_block",
"proc_statements : proc_statements proc_block",
"proc_statement : stmt_start_line stmt_start_column simple_proc_statement ';'",
"proc_statement : stmt_start_line stmt_start_column complex_proc_statement",
"stmt_start_line :",
"stmt_start_column :",
"simple_proc_statement : assignment",
"simple_proc_statement : insert",
"simple_proc_statement : merge",
"simple_proc_statement : update",
"simple_proc_statement : update_or_insert",
"simple_proc_statement : delete",
"simple_proc_statement : singleton_select",
"simple_proc_statement : exec_procedure",
"simple_proc_statement : exec_sql",
"simple_proc_statement : exec_into",
"simple_proc_statement : exec_function",
"simple_proc_statement : excp_statement",
"simple_proc_statement : raise_statement",
"simple_proc_statement : post_event",
"simple_proc_statement : cursor_statement",
"simple_proc_statement : breakleave",
"simple_proc_statement : SUSPEND",
"simple_proc_statement : EXIT",
"complex_proc_statement : in_autonomous_transaction",
"complex_proc_statement : if_then_else",
"complex_proc_statement : while",
"complex_proc_statement : for_select",
"complex_proc_statement : for_exec_into",
"in_autonomous_transaction : KW_IN AUTONOMOUS TRANSACTION DO proc_block",
"excp_statement : EXCEPTION symbol_exception_name",
"excp_statement : EXCEPTION symbol_exception_name value",
"raise_statement : EXCEPTION",
"for_select : label_opt FOR select INTO variable_list cursor_def DO proc_block",
"exec_sql : EXECUTE STATEMENT exec_stmt_inputs exec_stmt_options",
"exec_into : EXECUTE STATEMENT exec_stmt_inputs exec_stmt_options INTO variable_list",
"for_exec_into : label_opt FOR EXECUTE STATEMENT exec_stmt_inputs exec_stmt_options INTO variable_list DO proc_block",
"exec_stmt_inputs : value",
"exec_stmt_inputs : '(' value ')' '(' named_params_list ')'",
"exec_stmt_inputs : '(' value ')' '(' not_named_params_list ')'",
"named_params_list : named_param",
"named_params_list : named_params_list ',' named_param",
"named_param : symbol_variable_name BIND_PARAM value",
"not_named_params_list : not_named_param",
"not_named_params_list : not_named_params_list ',' not_named_param",
"not_named_param : value",
"exec_stmt_options : exec_stmt_options_list",
"exec_stmt_options :",
"exec_stmt_options_list : exec_stmt_options_list exec_stmt_option",
"exec_stmt_options_list : exec_stmt_option",
"exec_stmt_option : ext_datasrc",
"exec_stmt_option : ext_user",
"exec_stmt_option : ext_pwd",
"exec_stmt_option : ext_role",
"exec_stmt_option : ext_tran",
"exec_stmt_option : ext_privs",
"ext_datasrc : ON EXTERNAL DATA SOURCE value",
"ext_datasrc : ON EXTERNAL value",
"ext_user : AS USER value",
"ext_pwd : PASSWORD value",
"ext_role : ROLE value",
"ext_tran : WITH AUTONOMOUS TRANSACTION",
"ext_tran : WITH COMMON TRANSACTION",
"ext_privs : WITH CALLER PRIVILEGES",
"if_then_else : IF '(' search_condition ')' THEN proc_block ELSE proc_block",
"if_then_else : IF '(' search_condition ')' THEN proc_block",
"post_event : POST_EVENT value event_argument_opt",
"event_argument_opt :",
"singleton_select : select INTO variable_list",
"variable : ':' symbol_variable_name",
"variable_list : variable",
"variable_list : column_name",
"variable_list : variable_list ',' column_name",
"variable_list : variable_list ',' variable",
"while : label_opt WHILE '(' search_condition ')' DO proc_block",
"label_opt : symbol_label_name ':'",
"label_opt :",
"breakleave : KW_BREAK",
"breakleave : LEAVE",
"breakleave : LEAVE symbol_label_name",
"cursor_def : AS CURSOR symbol_cursor_name",
"cursor_def :",
"excp_hndl_statements : excp_hndl_statement",
"excp_hndl_statements : excp_hndl_statements excp_hndl_statement",
"excp_hndl_statement : WHEN errors DO proc_block",
"errors : err",
"errors : errors ',' err",
"err : SQLCODE signed_short_integer",
"err : GDSCODE symbol_gdscode_name",
"err : EXCEPTION symbol_exception_name",
"err : ANY",
"cursor_statement : open_cursor",
"cursor_statement : fetch_cursor",
"cursor_statement : close_cursor",
"open_cursor : OPEN symbol_cursor_name",
"close_cursor : CLOSE symbol_cursor_name",
"fetch_cursor : FETCH fetch_opt symbol_cursor_name INTO variable_list",
"fetch_opt :",
"exec_procedure : EXECUTE PROCEDURE symbol_procedure_name proc_inputs proc_outputs_opt",
"proc_inputs : value_list",
"proc_inputs : '(' value_list ')'",
"proc_inputs :",
"proc_outputs_opt : RETURNING_VALUES variable_list",
"proc_outputs_opt : RETURNING_VALUES '(' variable_list ')'",
"proc_outputs_opt :",
"exec_block : EXECUTE BLOCK block_input_params output_parameters AS local_declaration_list full_proc_block",
"block_input_params : '(' block_parameters ')'",
"block_input_params :",
"block_parameters : block_parameter",
"block_parameters : block_parameters ',' block_parameter",
"block_parameter : proc_parameter '=' parameter",
"view_clause : symbol_view_name column_parens_opt AS begin_string select_expr check_opt end_trigger",
"rview_clause : symbol_view_name column_parens_opt AS begin_string select_expr check_opt end_trigger",
"replace_view_clause : symbol_view_name column_parens_opt AS begin_string select_expr check_opt end_trigger",
"alter_view_clause : symbol_view_name column_parens_opt AS begin_string select_expr check_opt end_trigger",
"begin_string :",
"begin_trigger :",
"end_trigger :",
"end_default :",
"check_opt : WITH CHECK OPTION",
"check_opt :",
"trigger_clause : symbol_trigger_name trigger_active trigger_type trigger_position trigger_action end_trigger",
"trigger_clause : symbol_trigger_name FOR simple_table_name trigger_active trigger_type trigger_position trigger_action end_trigger",
"trigger_clause : symbol_trigger_name trigger_active trigger_type trigger_position ON simple_table_name trigger_action end_trigger",
"rtrigger_clause : symbol_trigger_name trigger_active trigger_type trigger_position trigger_action end_trigger",
"rtrigger_clause : symbol_trigger_name FOR simple_table_name trigger_active trigger_type trigger_position trigger_action end_trigger",
"rtrigger_clause : symbol_trigger_name trigger_active trigger_type trigger_position ON simple_table_name trigger_action end_trigger",
"replace_trigger_clause : symbol_trigger_name trigger_active trigger_type trigger_position trigger_action end_trigger",
"replace_trigger_clause : symbol_trigger_name FOR simple_table_name trigger_active trigger_type trigger_position trigger_action end_trigger",
"replace_trigger_clause : symbol_trigger_name trigger_active trigger_type trigger_position ON simple_table_name trigger_action end_trigger",
"trigger_active : ACTIVE",
"trigger_active : INACTIVE",
"trigger_active :",
"trigger_type : trigger_type_prefix trigger_type_suffix",
"trigger_type : ON trigger_db_type",
"trigger_db_type : CONNECT",
"trigger_db_type : DISCONNECT",
"trigger_db_type : TRANSACTION START",
"trigger_db_type : TRANSACTION COMMIT",
"trigger_db_type : TRANSACTION ROLLBACK",
"trigger_type_prefix : BEFORE",
"trigger_type_prefix : AFTER",
"trigger_type_suffix : INSERT",
"trigger_type_suffix : UPDATE",
"trigger_type_suffix : KW_DELETE",
"trigger_type_suffix : INSERT OR UPDATE",
"trigger_type_suffix : INSERT OR KW_DELETE",
"trigger_type_suffix : UPDATE OR INSERT",
"trigger_type_suffix : UPDATE OR KW_DELETE",
"trigger_type_suffix : KW_DELETE OR INSERT",
"trigger_type_suffix : KW_DELETE OR UPDATE",
"trigger_type_suffix : INSERT OR UPDATE OR KW_DELETE",
"trigger_type_suffix : INSERT OR KW_DELETE OR UPDATE",
"trigger_type_suffix : UPDATE OR INSERT OR KW_DELETE",
"trigger_type_suffix : UPDATE OR KW_DELETE OR INSERT",
"trigger_type_suffix : KW_DELETE OR INSERT OR UPDATE",
"trigger_type_suffix : KW_DELETE OR UPDATE OR INSERT",
"trigger_position : POSITION nonneg_short_integer",
"trigger_position :",
"trigger_action : AS begin_trigger local_declaration_list full_proc_block",
"alter : ALTER alter_clause",
"alter_clause : EXCEPTION alter_exception_clause",
"alter_clause : TABLE simple_table_name alter_ops",
"alter_clause : VIEW alter_view_clause",
"alter_clause : TRIGGER alter_trigger_clause",
"alter_clause : PROCEDURE alter_procedure_clause",
"alter_clause : DATABASE init_alter_db alter_db",
"alter_clause : DOMAIN alter_column_name alter_domain_ops",
"alter_clause : INDEX alter_index_clause",
"alter_clause : SEQUENCE alter_sequence_clause",
"alter_clause : EXTERNAL FUNCTION alter_udf_clause",
"alter_clause : ROLE alter_role_clause",
"alter_clause : USER alter_user_clause",
"alter_clause : CHARACTER SET alter_charset_clause",
"alter_domain_ops : alter_domain_op",
"alter_domain_ops : alter_domain_ops alter_domain_op",
"alter_domain_op : SET domain_default",
"alter_domain_op : ADD CONSTRAINT check_constraint",
"alter_domain_op : ADD check_constraint",
"alter_domain_op : DROP DEFAULT",
"alter_domain_op : DROP CONSTRAINT",
"alter_domain_op : TO simple_column_name",
"alter_domain_op : KW_TYPE init_data_type non_array_type",
"alter_ops : alter_op",
"alter_ops : alter_ops ',' alter_op",
"alter_op : DROP simple_column_name drop_behaviour",
"alter_op : DROP CONSTRAINT symbol_constraint_name",
"alter_op : ADD column_def",
"alter_op : ADD table_constraint_definition",
"alter_op : col_opt simple_column_name POSITION pos_short_integer",
"alter_op : col_opt alter_column_name TO simple_column_name",
"alter_op : col_opt alter_col_name KW_TYPE alter_data_type_or_domain",
"alter_op : col_opt alter_col_name KW_TYPE non_array_type def_computed",
"alter_op : col_opt alter_col_name def_computed",
"alter_op : col_opt alter_col_name SET domain_default",
"alter_op : col_opt alter_col_name DROP DEFAULT",
"alter_column_name : keyword_or_column",
"keyword_or_column : valid_symbol_name",
"keyword_or_column : ADMIN",
"keyword_or_column : COLUMN",
"keyword_or_column : EXTRACT",
"keyword_or_column : YEAR",
"keyword_or_column : MONTH",
"keyword_or_column : DAY",
"keyword_or_column : HOUR",
"keyword_or_column : MINUTE",
"keyword_or_column : SECOND",
"keyword_or_column : TIME",
"keyword_or_column : TIMESTAMP",
"keyword_or_column : CURRENT_DATE",
"keyword_or_column : CURRENT_TIME",
"keyword_or_column : CURRENT_TIMESTAMP",
"keyword_or_column : CURRENT_USER",
"keyword_or_column : CURRENT_ROLE",
"keyword_or_column : RECREATE",
"keyword_or_column : CURRENT_CONNECTION",
"keyword_or_column : CURRENT_TRANSACTION",
"keyword_or_column : BIGINT",
"keyword_or_column : CASE",
"keyword_or_column : RELEASE",
"keyword_or_column : ROW_COUNT",
"keyword_or_column : SAVEPOINT",
"keyword_or_column : OPEN",
"keyword_or_column : CLOSE",
"keyword_or_column : FETCH",
"keyword_or_column : ROWS",
"keyword_or_column : USING",
"keyword_or_column : CROSS",
"keyword_or_column : BIT_LENGTH",
"keyword_or_column : BOTH",
"keyword_or_column : CHAR_LENGTH",
"keyword_or_column : CHARACTER_LENGTH",
"keyword_or_column : COMMENT",
"keyword_or_column : LEADING",
"keyword_or_column : KW_LOWER",
"keyword_or_column : OCTET_LENGTH",
"keyword_or_column : TRAILING",
"keyword_or_column : TRIM",
"keyword_or_column : CONNECT",
"keyword_or_column : DISCONNECT",
"keyword_or_column : GLOBAL",
"keyword_or_column : INSENSITIVE",
"keyword_or_column : RECURSIVE",
"keyword_or_column : SENSITIVE",
"keyword_or_column : START",
"keyword_or_column : SIMILAR",
"keyword_or_column : SQLSTATE",
"col_opt : ALTER",
"col_opt : ALTER COLUMN",
"alter_data_type_or_domain : non_array_type",
"alter_data_type_or_domain : simple_column_name",
"alter_col_name : simple_column_name",
"drop_behaviour : RESTRICT",
"drop_behaviour : CASCADE",
"drop_behaviour :",
"alter_index_clause : symbol_index_name ACTIVE",
"alter_index_clause : symbol_index_name INACTIVE",
"alter_sequence_clause : symbol_generator_name RESTART WITH signed_long_integer",
"alter_sequence_clause : symbol_generator_name RESTART WITH NUMBER64BIT",
"alter_sequence_clause : symbol_generator_name RESTART WITH '-' NUMBER64BIT",
"alter_udf_clause : symbol_UDF_name entry_op module_op",
"alter_role_clause : symbol_role_name alter_role_enable AUTO ADMIN MAPPING",
"alter_role_enable : SET",
"alter_role_enable : DROP",
"entry_op : ENTRY_POINT sql_string",
"entry_op :",
"module_op : MODULE_NAME sql_string",
"module_op :",
"init_alter_db :",
"alter_db : db_alter_clause",
"alter_db : alter_db db_alter_clause",
"db_alter_clause : ADD db_file_list",
"db_alter_clause : ADD KW_DIFFERENCE KW_FILE sql_string",
"db_alter_clause : DROP KW_DIFFERENCE KW_FILE",
"db_alter_clause : BEGIN BACKUP",
"db_alter_clause : END BACKUP",
"alter_trigger_clause : symbol_trigger_name trigger_active new_trigger_type trigger_position begin_trigger new_trigger_action end_trigger",
"new_trigger_type : trigger_type",
"new_trigger_type :",
"new_trigger_action : trigger_action",
"new_trigger_action :",
"drop : DROP drop_clause",
"drop_clause : EXCEPTION symbol_exception_name",
"drop_clause : INDEX symbol_index_name",
"drop_clause : PROCEDURE symbol_procedure_name",
"drop_clause : TABLE symbol_table_name",
"drop_clause : TRIGGER symbol_trigger_name",
"drop_clause : VIEW symbol_view_name",
"drop_clause : FILTER symbol_filter_name",
"drop_clause : DOMAIN symbol_domain_name",
"drop_clause : EXTERNAL FUNCTION symbol_UDF_name",
"drop_clause : SHADOW pos_short_integer",
"drop_clause : ROLE symbol_role_name",
"drop_clause : GENERATOR symbol_generator_name",
"drop_clause : SEQUENCE symbol_generator_name",
"drop_clause : COLLATION symbol_collation_name",
"drop_clause : USER drop_user_clause",
"data_type : non_array_type",
"data_type : array_type",
"domain_or_non_array_type : domain_or_non_array_type_name",
"domain_or_non_array_type : domain_or_non_array_type_name NOT KW_NULL",
"domain_or_non_array_type_name : non_array_type",
"domain_or_non_array_type_name : domain_type",
"domain_type : KW_TYPE OF symbol_column_name",
"domain_type : KW_TYPE OF COLUMN symbol_column_name '.' symbol_column_name",
"domain_type : symbol_column_name",
"non_array_type : simple_type",
"non_array_type : blob_type",
"array_type : non_charset_simple_type '[' array_spec ']'",
"array_type : character_type '[' array_spec ']' charset_clause",
"array_spec : array_range",
"array_spec : array_spec ',' array_range",
"array_range : signed_long_integer",
"array_range : signed_long_integer ':' signed_long_integer",
"simple_type : non_charset_simple_type",
"simple_type : character_type charset_clause",
"non_charset_simple_type : national_character_type",
"non_charset_simple_type : numeric_type",
"non_charset_simple_type : float_type",
"non_charset_simple_type : BIGINT",
"non_charset_simple_type : integer_keyword",
"non_charset_simple_type : SMALLINT",
"non_charset_simple_type : DATE",
"non_charset_simple_type : TIME",
"non_charset_simple_type : TIMESTAMP",
"integer_keyword : INTEGER",
"integer_keyword : KW_INT",
"blob_type : BLOB blob_subtype blob_segsize charset_clause",
"blob_type : BLOB '(' unsigned_short_integer ')'",
"blob_type : BLOB '(' unsigned_short_integer ',' signed_short_integer ')'",
"blob_type : BLOB '(' ',' signed_short_integer ')'",
"blob_segsize : SEGMENT KW_SIZE unsigned_short_integer",
"blob_segsize :",
"blob_subtype : SUB_TYPE signed_short_integer",
"blob_subtype : SUB_TYPE symbol_blob_subtype_name",
"blob_subtype :",
"charset_clause : CHARACTER SET symbol_character_set_name",
"charset_clause :",
"national_character_type : national_character_keyword '(' pos_short_integer ')'",
"national_character_type : national_character_keyword",
"national_character_type : national_character_keyword VARYING '(' pos_short_integer ')'",
"character_type : character_keyword '(' pos_short_integer ')'",
"character_type : character_keyword",
"character_type : varying_keyword '(' pos_short_integer ')'",
"varying_keyword : VARCHAR",
"varying_keyword : CHARACTER VARYING",
"varying_keyword : KW_CHAR VARYING",
"character_keyword : CHARACTER",
"character_keyword : KW_CHAR",
"national_character_keyword : NCHAR",
"national_character_keyword : NATIONAL CHARACTER",
"national_character_keyword : NATIONAL KW_CHAR",
"numeric_type : KW_NUMERIC prec_scale",
"numeric_type : decimal_keyword prec_scale",
"prec_scale :",
"prec_scale : '(' signed_long_integer ')'",
"prec_scale : '(' signed_long_integer ',' signed_long_integer ')'",
"decimal_keyword : DECIMAL",
"decimal_keyword : KW_DEC",
"float_type : KW_FLOAT precision_opt",
"float_type : KW_LONG KW_FLOAT precision_opt",
"float_type : REAL",
"float_type : KW_DOUBLE PRECISION",
"precision_opt : '(' nonneg_short_integer ')'",
"precision_opt :",
"set : set_transaction",
"set : set_generator",
"set : set_statistics",
"set_generator : SET GENERATOR symbol_generator_name TO signed_long_integer",
"set_generator : SET GENERATOR symbol_generator_name TO NUMBER64BIT",
"set_generator : SET GENERATOR symbol_generator_name TO '-' NUMBER64BIT",
"savepoint : set_savepoint",
"savepoint : release_savepoint",
"savepoint : undo_savepoint",
"set_savepoint : SAVEPOINT symbol_savepoint_name",
"release_savepoint : RELEASE SAVEPOINT symbol_savepoint_name release_only_opt",
"release_only_opt : ONLY",
"release_only_opt :",
"undo_savepoint : ROLLBACK optional_work TO optional_savepoint symbol_savepoint_name",
"optional_savepoint : SAVEPOINT",
"optional_savepoint :",
"commit : COMMIT optional_work optional_retain",
"dump : DUMP",
"rollback : ROLLBACK optional_work optional_retain",
"optional_work : WORK",
"optional_work :",
"optional_retain : RETAIN opt_snapshot",
"optional_retain :",
"opt_snapshot : SNAPSHOT",
"opt_snapshot :",
"set_transaction : SET TRANSACTION tran_opt_list_m",
"tran_opt_list_m : tran_opt_list",
"tran_opt_list_m :",
"tran_opt_list : tran_opt",
"tran_opt_list : tran_opt_list tran_opt",
"tran_opt : access_mode",
"tran_opt : lock_wait",
"tran_opt : isolation_mode",
"tran_opt : tra_misc_options",
"tran_opt : tra_timeout",
"tran_opt : tbl_reserve_options",
"access_mode : READ ONLY",
"access_mode : READ WRITE",
"lock_wait : WAIT",
"lock_wait : NO WAIT",
"isolation_mode : ISOLATION LEVEL iso_mode",
"isolation_mode : iso_mode",
"iso_mode : snap_shot",
"iso_mode : READ UNCOMMITTED version_mode",
"iso_mode : READ COMMITTED version_mode",
"snap_shot : SNAPSHOT",
"snap_shot : SNAPSHOT TABLE",
"snap_shot : SNAPSHOT TABLE STABILITY",
"version_mode : VERSION",
"version_mode : NO VERSION",
"version_mode :",
"tra_misc_options : NO AUTO UNDO",
"tra_misc_options : KW_IGNORE LIMBO",
"tra_misc_options : RESTART REQUESTS",
"tra_timeout : LOCK TIMEOUT nonneg_short_integer",
"tbl_reserve_options : RESERVING restr_list",
"lock_type : KW_SHARED",
"lock_type : PROTECTED",
"lock_type :",
"lock_mode : READ",
"lock_mode : WRITE",
"restr_list : restr_option",
"restr_list : restr_list ',' restr_option",
"restr_option : table_list table_lock",
"table_lock : FOR lock_type lock_mode",
"table_lock :",
"table_list : simple_table_name",
"table_list : table_list ',' simple_table_name",
"set_statistics : SET STATISTICS INDEX symbol_index_name",
"comment : COMMENT ON ddl_type0 IS ddl_desc",
"comment : COMMENT ON ddl_type1 symbol_ddl_name IS ddl_desc",
"comment : COMMENT ON ddl_type2 symbol_ddl_name ddl_subname IS ddl_desc",
"ddl_type0 : DATABASE",
"ddl_type1 : DOMAIN",
"ddl_type1 : TABLE",
"ddl_type1 : VIEW",
"ddl_type1 : PROCEDURE",
"ddl_type1 : TRIGGER",
"ddl_type1 : EXTERNAL FUNCTION",
"ddl_type1 : FILTER",
"ddl_type1 : EXCEPTION",
"ddl_type1 : GENERATOR",
"ddl_type1 : SEQUENCE",
"ddl_type1 : INDEX",
"ddl_type1 : ROLE",
"ddl_type1 : CHARACTER SET",
"ddl_type1 : COLLATION",
"ddl_type2 : COLUMN",
"ddl_type2 : PARAMETER",
"ddl_subname : '.' symbol_ddl_name",
"ddl_desc : sql_string",
"ddl_desc : KW_NULL",
"select : select_expr for_update_clause lock_clause",
"for_update_clause : FOR UPDATE for_update_list",
"for_update_clause :",
"for_update_list : OF column_list",
"for_update_list :",
"lock_clause : WITH LOCK",
"lock_clause :",
"select_expr : with_clause select_expr_body order_clause rows_clause",
"with_clause : WITH RECURSIVE with_list",
"with_clause : WITH with_list",
"with_clause :",
"with_list : with_item",
"with_list : with_item ',' with_list",
"with_item : symbol_table_alias_name derived_column_list AS '(' select_expr ')'",
"column_select : with_clause select_expr_body order_clause rows_clause",
"column_singleton : with_clause select_expr_body order_clause rows_clause",
"select_expr_body : query_term",
"select_expr_body : select_expr_body UNION distinct_noise query_term",
"select_expr_body : select_expr_body UNION ALL query_term",
"query_term : query_spec",
"query_spec : SELECT limit_clause distinct_clause select_list from_clause where_clause group_clause having_clause plan_clause",
"limit_clause : first_clause skip_clause",
"limit_clause : first_clause",
"limit_clause : skip_clause",
"limit_clause :",
"first_clause : FIRST long_integer",
"first_clause : FIRST '(' value ')'",
"first_clause : FIRST parameter",
"skip_clause : SKIP long_integer",
"skip_clause : SKIP '(' value ')'",
"skip_clause : SKIP parameter",
"distinct_clause : DISTINCT",
"distinct_clause : all_noise",
"select_list : select_items",
"select_list : '*'",
"select_items : select_item",
"select_items : select_items ',' select_item",
"select_item : value",
"select_item : value as_noise symbol_item_alias_name",
"as_noise : AS",
"as_noise :",
"from_clause : FROM from_list",
"from_list : table_reference",
"from_list : from_list ',' table_reference",
"table_reference : joined_table",
"table_reference : table_primary",
"table_primary : table_proc",
"table_primary : derived_table",
"table_primary : '(' joined_table ')'",
"derived_table : '(' select_expr ')' as_noise correlation_name derived_column_list",
"correlation_name : symbol_table_alias_name",
"correlation_name :",
"derived_column_list : '(' alias_list ')'",
"derived_column_list :",
"alias_list : symbol_item_alias_name",
"alias_list : alias_list ',' symbol_item_alias_name",
"joined_table : cross_join",
"joined_table : natural_join",
"joined_table : qualified_join",
"cross_join : table_reference CROSS JOIN table_primary",
"natural_join : table_reference NATURAL join_type JOIN table_primary",
"qualified_join : table_reference join_type JOIN table_reference join_specification",
"join_specification : join_condition",
"join_specification : named_columns_join",
"join_condition : ON search_condition",
"named_columns_join : USING '(' column_list ')'",
"table_proc : symbol_procedure_name table_proc_inputs as_noise symbol_table_alias_name",
"table_proc : symbol_procedure_name table_proc_inputs",
"table_proc_inputs : '(' value_list ')'",
"table_proc_inputs :",
"table_name : simple_table_name",
"table_name : symbol_table_name as_noise symbol_table_alias_name",
"simple_table_name : symbol_table_name",
"join_type : INNER",
"join_type : LEFT outer_noise",
"join_type : RIGHT outer_noise",
"join_type : FULL outer_noise",
"join_type :",
"outer_noise : OUTER",
"outer_noise :",
"group_clause : GROUP BY group_by_list",
"group_clause :",
"group_by_list : group_by_item",
"group_by_list : group_by_list ',' group_by_item",
"group_by_item : value",
"having_clause : HAVING search_condition",
"having_clause :",
"where_clause : WHERE search_condition",
"where_clause :",
"plan_clause : PLAN plan_expression",
"plan_clause :",
"plan_expression : plan_type '(' plan_item_list ')'",
"plan_type : JOIN",
"plan_type : SORT MERGE",
"plan_type : MERGE",
"plan_type : SORT",
"plan_type :",
"plan_item_list : plan_item",
"plan_item_list : plan_item ',' plan_item_list",
"plan_item : table_or_alias_list access_type",
"plan_item : plan_expression",
"table_or_alias_list : symbol_table_name",
"table_or_alias_list : symbol_table_name table_or_alias_list",
"access_type : NATURAL",
"access_type : INDEX '(' index_list ')'",
"access_type : ORDER symbol_index_name extra_indices_opt",
"index_list : symbol_index_name",
"index_list : symbol_index_name ',' index_list",
"extra_indices_opt : INDEX '(' index_list ')'",
"extra_indices_opt :",
"order_clause : ORDER BY order_list",
"order_clause :",
"order_list : order_item",
"order_list : order_list ',' order_item",
"order_item : value order_direction nulls_clause",
"order_direction : ASC",
"order_direction : DESC",
"order_direction :",
"nulls_clause : NULLS nulls_placement",
"nulls_clause :",
"nulls_placement : FIRST",
"nulls_placement : LAST",
"rows_clause : ROWS value",
"rows_clause : ROWS value TO value",
"rows_clause :",
"insert : INSERT INTO simple_table_name ins_column_parens_opt VALUES '(' value_list ')' returning_clause",
"insert : INSERT INTO simple_table_name ins_column_parens_opt select_expr returning_clause",
"insert : INSERT INTO simple_table_name DEFAULT VALUES returning_clause",
"merge : MERGE INTO table_name USING table_reference ON search_condition merge_when_clause",
"merge_when_clause : merge_when_matched_clause merge_when_not_matched_clause",
"merge_when_clause : merge_when_not_matched_clause merge_when_matched_clause",
"merge_when_clause : merge_when_matched_clause",
"merge_when_clause : merge_when_not_matched_clause",
"merge_when_matched_clause : WHEN MATCHED THEN merge_update_specification",
"merge_when_not_matched_clause : WHEN NOT MATCHED THEN merge_insert_specification",
"merge_update_specification : UPDATE SET assignments",
"merge_insert_specification : INSERT ins_column_parens_opt VALUES '(' value_list ')'",
"delete : delete_searched",
"delete : delete_positioned",
"delete_searched : KW_DELETE FROM table_name where_clause plan_clause order_clause rows_clause returning_clause",
"delete_positioned : KW_DELETE FROM table_name cursor_clause",
"update : update_searched",
"update : update_positioned",
"update_searched : UPDATE table_name SET assignments where_clause plan_clause order_clause rows_clause returning_clause",
"update_positioned : UPDATE table_name SET assignments cursor_clause",
"update_or_insert : UPDATE OR INSERT INTO simple_table_name ins_column_parens_opt VALUES '(' value_list ')' update_or_insert_matching_opt returning_clause",
"update_or_insert_matching_opt : MATCHING ins_column_parens",
"update_or_insert_matching_opt :",
"returning_clause : RETURNING value_list",
"returning_clause : RETURNING value_list INTO variable_list",
"returning_clause :",
"cursor_clause : WHERE CURRENT OF symbol_cursor_name",
"assignments : assignment",
"assignments : assignments ',' assignment",
"assignment : update_column_name '=' value",
"exec_function : udf",
"exec_function : non_aggregate_function",
"blob_io : READ BLOB simple_column_name FROM simple_table_name filter_clause_io segment_clause_io",
"blob_io : INSERT BLOB simple_column_name INTO simple_table_name filter_clause_io segment_clause_io",
"filter_clause_io : FILTER FROM blob_subtype_value_io TO blob_subtype_value_io",
"filter_clause_io : FILTER TO blob_subtype_value_io",
"filter_clause_io :",
"blob_subtype_value_io : blob_subtype_io",
"blob_subtype_value_io : parameter",
"blob_subtype_io : signed_short_integer",
"segment_clause_io : MAX_SEGMENT segment_length_io",
"segment_clause_io :",
"segment_length_io : unsigned_short_integer",
"segment_length_io : parameter",
"column_parens_opt : column_parens",
"column_parens_opt :",
"column_parens : '(' column_list ')'",
"column_list : simple_column_name",
"column_list : column_list ',' simple_column_name",
"ins_column_parens_opt : ins_column_parens",
"ins_column_parens_opt :",
"ins_column_parens : '(' ins_column_list ')'",
"ins_column_list : update_column_name",
"ins_column_list : ins_column_list ',' update_column_name",
"column_name : simple_column_name",
"column_name : symbol_table_alias_name '.' symbol_column_name",
"column_name : symbol_table_alias_name '.' '*'",
"simple_column_name : symbol_column_name",
"update_column_name : simple_column_name",
"update_column_name : symbol_table_alias_name '.' symbol_column_name",
"search_condition : predicate",
"search_condition : search_condition OR search_condition",
"search_condition : search_condition AND search_condition",
"search_condition : NOT search_condition",
"predicate : comparison_predicate",
"predicate : distinct_predicate",
"predicate : between_predicate",
"predicate : like_predicate",
"predicate : in_predicate",
"predicate : null_predicate",
"predicate : quantified_predicate",
"predicate : exists_predicate",
"predicate : containing_predicate",
"predicate : similar_predicate",
"predicate : starting_predicate",
"predicate : singular_predicate",
"predicate : trigger_action_predicate",
"predicate : '(' search_condition ')'",
"comparison_predicate : value '=' value",
"comparison_predicate : value '<' value",
"comparison_predicate : value '>' value",
"comparison_predicate : value GEQ value",
"comparison_predicate : value LEQ value",
"comparison_predicate : value NOT_GTR value",
"comparison_predicate : value NOT_LSS value",
"comparison_predicate : value NEQ value",
"quantified_predicate : value '=' ALL '(' column_select ')'",
"quantified_predicate : value '<' ALL '(' column_select ')'",
"quantified_predicate : value '>' ALL '(' column_select ')'",
"quantified_predicate : value GEQ ALL '(' column_select ')'",
"quantified_predicate : value LEQ ALL '(' column_select ')'",
"quantified_predicate : value NOT_GTR ALL '(' column_select ')'",
"quantified_predicate : value NOT_LSS ALL '(' column_select ')'",
"quantified_predicate : value NEQ ALL '(' column_select ')'",
"quantified_predicate : value '=' some '(' column_select ')'",
"quantified_predicate : value '<' some '(' column_select ')'",
"quantified_predicate : value '>' some '(' column_select ')'",
"quantified_predicate : value GEQ some '(' column_select ')'",
"quantified_predicate : value LEQ some '(' column_select ')'",
"quantified_predicate : value NOT_GTR some '(' column_select ')'",
"quantified_predicate : value NOT_LSS some '(' column_select ')'",
"quantified_predicate : value NEQ some '(' column_select ')'",
"some : SOME",
"some : ANY",
"distinct_predicate : value IS DISTINCT FROM value",
"distinct_predicate : value IS NOT DISTINCT FROM value",
"between_predicate : value BETWEEN value AND value",
"between_predicate : value NOT BETWEEN value AND value",
"like_predicate : value LIKE value",
"like_predicate : value NOT LIKE value",
"like_predicate : value LIKE value ESCAPE value",
"like_predicate : value NOT LIKE value ESCAPE value",
"in_predicate : value KW_IN in_predicate_value",
"in_predicate : value NOT KW_IN in_predicate_value",
"containing_predicate : value CONTAINING value",
"containing_predicate : value NOT CONTAINING value",
"similar_predicate : value SIMILAR TO value",
"similar_predicate : value NOT SIMILAR TO value",
"similar_predicate : value SIMILAR TO value ESCAPE value",
"similar_predicate : value NOT SIMILAR TO value ESCAPE value",
"starting_predicate : value STARTING value",
"starting_predicate : value NOT STARTING value",
"starting_predicate : value STARTING WITH value",
"starting_predicate : value NOT STARTING WITH value",
"exists_predicate : EXISTS '(' select_expr ')'",
"singular_predicate : SINGULAR '(' select_expr ')'",
"null_predicate : value IS KW_NULL",
"null_predicate : value IS NOT KW_NULL",
"trigger_action_predicate : INSERTING",
"trigger_action_predicate : UPDATING",
"trigger_action_predicate : DELETING",
"in_predicate_value : table_subquery",
"in_predicate_value : '(' value_list ')'",
"table_subquery : '(' column_select ')'",
"create_user_clause : symbol_user_name passwd_clause firstname_opt middlename_opt lastname_opt grant_admin_opt",
"alter_user_clause : symbol_user_name passwd_opt firstname_opt middlename_opt lastname_opt admin_opt",
"alter_user_clause : symbol_user_name SET passwd_opt firstname_opt middlename_opt lastname_opt admin_opt",
"drop_user_clause : symbol_user_name",
"passwd_clause : PASSWORD sql_string",
"passwd_opt : passwd_clause",
"passwd_opt :",
"firstname_opt : FIRSTNAME sql_string",
"firstname_opt :",
"middlename_opt : MIDDLENAME sql_string",
"middlename_opt :",
"lastname_opt : LASTNAME sql_string",
"lastname_opt :",
"admin_opt : revoke_admin",
"admin_opt : grant_admin",
"admin_opt :",
"grant_admin_opt : grant_admin",
"grant_admin_opt :",
"revoke_admin : REVOKE ADMIN ROLE",
"grant_admin : GRANT ADMIN ROLE",
"value : column_name",
"value : array_element",
"value : function",
"value : u_constant",
"value : parameter",
"value : variable",
"value : cast_specification",
"value : case_expression",
"value : next_value_expression",
"value : udf",
"value : '-' value",
"value : '+' value",
"value : value '+' value",
"value : value CONCATENATE value",
"value : value COLLATE symbol_collation_name",
"value : value '-' value",
"value : value '*' value",
"value : value '/' value",
"value : '(' value ')'",
"value : '(' column_singleton ')'",
"value : current_user",
"value : current_role",
"value : internal_info",
"value : DB_KEY",
"value : symbol_table_alias_name '.' DB_KEY",
"value : KW_VALUE",
"value : datetime_value_expression",
"value : null_value",
"datetime_value_expression : CURRENT_DATE",
"datetime_value_expression : CURRENT_TIME sec_precision_opt",
"datetime_value_expression : CURRENT_TIMESTAMP sec_precision_opt",
"sec_precision_opt : '(' nonneg_short_integer ')'",
"sec_precision_opt :",
"array_element : column_name '[' value_list ']'",
"value_list_opt : value_list",
"value_list_opt :",
"value_list : value",
"value_list : value_list ',' value",
"constant : u_constant",
"constant : '-' u_numeric_constant",
"u_numeric_constant : NUMERIC",
"u_numeric_constant : NUMBER",
"u_numeric_constant : FLOAT_NUMBER",
"u_numeric_constant : NUMBER64BIT",
"u_numeric_constant : SCALEDINT",
"u_constant : u_numeric_constant",
"u_constant : sql_string",
"u_constant : DATE STRING",
"u_constant : TIME STRING",
"u_constant : TIMESTAMP STRING",
"parameter : '?'",
"current_user : USER",
"current_user : CURRENT_USER",
"current_role : CURRENT_ROLE",
"internal_info : CURRENT_CONNECTION",
"internal_info : CURRENT_TRANSACTION",
"internal_info : GDSCODE",
"internal_info : SQLCODE",
"internal_info : SQLSTATE",
"internal_info : ROW_COUNT",
"sql_string : STRING",
"sql_string : INTRODUCER STRING",
"signed_short_integer : nonneg_short_integer",
"signed_short_integer : '-' neg_short_integer",
"nonneg_short_integer : NUMBER",
"neg_short_integer : NUMBER",
"pos_short_integer : nonneg_short_integer",
"unsigned_short_integer : NUMBER",
"signed_long_integer : long_integer",
"signed_long_integer : '-' long_integer",
"long_integer : NUMBER",
"function : aggregate_function",
"function : non_aggregate_function",
"non_aggregate_function : numeric_value_function",
"non_aggregate_function : string_value_function",
"non_aggregate_function : system_function_expression",
"aggregate_function : COUNT '(' '*' ')'",
"aggregate_function : COUNT '(' all_noise value ')'",
"aggregate_function : COUNT '(' DISTINCT value ')'",
"aggregate_function : SUM '(' all_noise value ')'",
"aggregate_function : SUM '(' DISTINCT value ')'",
"aggregate_function : AVG '(' all_noise value ')'",
"aggregate_function : AVG '(' DISTINCT value ')'",
"aggregate_function : MINIMUM '(' all_noise value ')'",
"aggregate_function : MINIMUM '(' DISTINCT value ')'",
"aggregate_function : MAXIMUM '(' all_noise value ')'",
"aggregate_function : MAXIMUM '(' DISTINCT value ')'",
"aggregate_function : LIST '(' all_noise value delimiter_opt ')'",
"aggregate_function : LIST '(' DISTINCT value delimiter_opt ')'",
"delimiter_opt : ',' value",
"delimiter_opt :",
"numeric_value_function : extract_expression",
"numeric_value_function : length_expression",
"extract_expression : EXTRACT '(' timestamp_part FROM value ')'",
"length_expression : bit_length_expression",
"length_expression : char_length_expression",
"length_expression : octet_length_expression",
"bit_length_expression : BIT_LENGTH '(' value ')'",
"char_length_expression : CHAR_LENGTH '(' value ')'",
"char_length_expression : CHARACTER_LENGTH '(' value ')'",
"octet_length_expression : OCTET_LENGTH '(' value ')'",
"system_function_expression : system_function_std_syntax '(' value_list_opt ')'",
"system_function_expression : system_function_special_syntax",
"system_function_std_syntax : ABS",
"system_function_std_syntax : ACOS",
"system_function_std_syntax : ASCII_CHAR",
"system_function_std_syntax : ASCII_VAL",
"system_function_std_syntax : ASIN",
"system_function_std_syntax : ATAN",
"system_function_std_syntax : ATAN2",
"system_function_std_syntax : BIN_AND",
"system_function_std_syntax : BIN_NOT",
"system_function_std_syntax : BIN_OR",
"system_function_std_syntax : BIN_SHL",
"system_function_std_syntax : BIN_SHR",
"system_function_std_syntax : BIN_XOR",
"system_function_std_syntax : CEIL",
"system_function_std_syntax : CHAR_TO_UUID",
"system_function_std_syntax : COS",
"system_function_std_syntax : COSH",
"system_function_std_syntax : COT",
"system_function_std_syntax : EXP",
"system_function_std_syntax : FLOOR",
"system_function_std_syntax : GEN_UUID",
"system_function_std_syntax : HASH",
"system_function_std_syntax : LEFT",
"system_function_std_syntax : LN",
"system_function_std_syntax : LOG",
"system_function_std_syntax : LOG10",
"system_function_std_syntax : LPAD",
"system_function_std_syntax : MAXVALUE",
"system_function_std_syntax : MINVALUE",
"system_function_std_syntax : MOD",
"system_function_std_syntax : PI",
"system_function_std_syntax : POSITION",
"system_function_std_syntax : POWER",
"system_function_std_syntax : RAND",
"system_function_std_syntax : REPLACE",
"system_function_std_syntax : REVERSE",
"system_function_std_syntax : RIGHT",
"system_function_std_syntax : ROUND",
"system_function_std_syntax : RPAD",
"system_function_std_syntax : SIGN",
"system_function_std_syntax : SIN",
"system_function_std_syntax : SINH",
"system_function_std_syntax : SQRT",
"system_function_std_syntax : TAN",
"system_function_std_syntax : TANH",
"system_function_std_syntax : TRUNC",
"system_function_std_syntax : UUID_TO_CHAR",
"system_function_special_syntax : DATEADD '(' value timestamp_part TO value ')'",
"system_function_special_syntax : DATEADD '(' timestamp_part ',' value ',' value ')'",
"system_function_special_syntax : DATEDIFF '(' timestamp_part FROM value TO value ')'",
"system_function_special_syntax : DATEDIFF '(' timestamp_part ',' value ',' value ')'",
"system_function_special_syntax : OVERLAY '(' value PLACING value FROM value FOR value ')'",
"system_function_special_syntax : OVERLAY '(' value PLACING value FROM value ')'",
"system_function_special_syntax : POSITION '(' value KW_IN value ')'",
"string_value_function : substring_function",
"string_value_function : trim_function",
"string_value_function : KW_UPPER '(' value ')'",
"string_value_function : KW_LOWER '(' value ')'",
"substring_function : SUBSTRING '(' value FROM value string_length_opt ')'",
"string_length_opt : FOR value",
"string_length_opt :",
"trim_function : TRIM '(' trim_specification value FROM value ')'",
"trim_function : TRIM '(' value FROM value ')'",
"trim_function : TRIM '(' trim_specification FROM value ')'",
"trim_function : TRIM '(' value ')'",
"trim_specification : BOTH",
"trim_specification : TRAILING",
"trim_specification : LEADING",
"udf : symbol_UDF_call_name '(' value_list ')'",
"udf : symbol_UDF_call_name '(' ')'",
"cast_specification : CAST '(' value AS data_type_descriptor ')'",
"case_expression : case_abbreviation",
"case_expression : case_specification",
"case_abbreviation : NULLIF '(' value ',' value ')'",
"case_abbreviation : IIF '(' search_condition ',' value ',' value ')'",
"case_abbreviation : COALESCE '(' value ',' value_list ')'",
"case_abbreviation : DECODE '(' value ',' decode_pairs ')'",
"case_abbreviation : DECODE '(' value ',' decode_pairs ',' value ')'",
"case_specification : simple_case",
"case_specification : searched_case",
"simple_case : CASE case_operand simple_when_clause END",
"simple_case : CASE case_operand simple_when_clause ELSE case_result END",
"simple_when_clause : WHEN when_operand THEN case_result",
"simple_when_clause : simple_when_clause WHEN when_operand THEN case_result",
"searched_case : CASE searched_when_clause END",
"searched_case : CASE searched_when_clause ELSE case_result END",
"searched_when_clause : WHEN search_condition THEN case_result",
"searched_when_clause : searched_when_clause WHEN search_condition THEN case_result",
"when_operand : value",
"case_operand : value",
"case_result : value",
"decode_pairs : value ',' value",
"decode_pairs : decode_pairs ',' value ',' value",
"next_value_expression : NEXT KW_VALUE FOR symbol_generator_name",
"next_value_expression : GEN_ID '(' symbol_generator_name ',' value ')'",
"timestamp_part : YEAR",
"timestamp_part : MONTH",
"timestamp_part : DAY",
"timestamp_part : HOUR",
"timestamp_part : MINUTE",
"timestamp_part : SECOND",
"timestamp_part : MILLISECOND",
"timestamp_part : WEEK",
"timestamp_part : WEEKDAY",
"timestamp_part : YEARDAY",
"all_noise : ALL",
"all_noise :",
"distinct_noise : DISTINCT",
"distinct_noise :",
"null_value : KW_NULL",
"symbol_UDF_call_name : SYMBOL",
"symbol_UDF_name : valid_symbol_name",
"symbol_blob_subtype_name : valid_symbol_name",
"symbol_character_set_name : valid_symbol_name",
"symbol_collation_name : valid_symbol_name",
"symbol_column_name : valid_symbol_name",
"symbol_constraint_name : valid_symbol_name",
"symbol_cursor_name : valid_symbol_name",
"symbol_domain_name : valid_symbol_name",
"symbol_exception_name : valid_symbol_name",
"symbol_filter_name : valid_symbol_name",
"symbol_gdscode_name : valid_symbol_name",
"symbol_generator_name : valid_symbol_name",
"symbol_index_name : valid_symbol_name",
"symbol_item_alias_name : valid_symbol_name",
"symbol_label_name : valid_symbol_name",
"symbol_ddl_name : valid_symbol_name",
"symbol_procedure_name : valid_symbol_name",
"symbol_role_name : valid_symbol_name",
"symbol_table_alias_name : valid_symbol_name",
"symbol_table_name : valid_symbol_name",
"symbol_trigger_name : valid_symbol_name",
"symbol_user_name : valid_symbol_name",
"symbol_variable_name : valid_symbol_name",
"symbol_view_name : valid_symbol_name",
"symbol_savepoint_name : valid_symbol_name",
"valid_symbol_name : SYMBOL",
"valid_symbol_name : non_reserved_word",
"non_reserved_word : ACTION",
"non_reserved_word : CASCADE",
"non_reserved_word : FREE_IT",
"non_reserved_word : RESTRICT",
"non_reserved_word : ROLE",
"non_reserved_word : KW_TYPE",
"non_reserved_word : KW_BREAK",
"non_reserved_word : KW_DESCRIPTOR",
"non_reserved_word : SUBSTRING",
"non_reserved_word : COALESCE",
"non_reserved_word : LAST",
"non_reserved_word : LEAVE",
"non_reserved_word : LOCK",
"non_reserved_word : NULLIF",
"non_reserved_word : NULLS",
"non_reserved_word : STATEMENT",
"non_reserved_word : INSERTING",
"non_reserved_word : UPDATING",
"non_reserved_word : DELETING",
"non_reserved_word : FIRST",
"non_reserved_word : SKIP",
"non_reserved_word : BLOCK",
"non_reserved_word : BACKUP",
"non_reserved_word : KW_DIFFERENCE",
"non_reserved_word : IIF",
"non_reserved_word : SCALAR_ARRAY",
"non_reserved_word : WEEKDAY",
"non_reserved_word : YEARDAY",
"non_reserved_word : SEQUENCE",
"non_reserved_word : NEXT",
"non_reserved_word : RESTART",
"non_reserved_word : COLLATION",
"non_reserved_word : RETURNING",
"non_reserved_word : KW_IGNORE",
"non_reserved_word : LIMBO",
"non_reserved_word : UNDO",
"non_reserved_word : REQUESTS",
"non_reserved_word : TIMEOUT",
"non_reserved_word : ABS",
"non_reserved_word : ACCENT",
"non_reserved_word : ACOS",
"non_reserved_word : ALWAYS",
"non_reserved_word : ASCII_CHAR",
"non_reserved_word : ASCII_VAL",
"non_reserved_word : ASIN",
"non_reserved_word : ATAN",
"non_reserved_word : ATAN2",
"non_reserved_word : BIN_AND",
"non_reserved_word : BIN_OR",
"non_reserved_word : BIN_SHL",
"non_reserved_word : BIN_SHR",
"non_reserved_word : BIN_XOR",
"non_reserved_word : CEIL",
"non_reserved_word : COS",
"non_reserved_word : COSH",
"non_reserved_word : COT",
"non_reserved_word : DATEADD",
"non_reserved_word : DATEDIFF",
"non_reserved_word : DECODE",
"non_reserved_word : EXP",
"non_reserved_word : FLOOR",
"non_reserved_word : GEN_UUID",
"non_reserved_word : GENERATED",
"non_reserved_word : HASH",
"non_reserved_word : LIST",
"non_reserved_word : LN",
"non_reserved_word : LOG",
"non_reserved_word : LOG10",
"non_reserved_word : LPAD",
"non_reserved_word : MATCHED",
"non_reserved_word : MATCHING",
"non_reserved_word : MAXVALUE",
"non_reserved_word : MILLISECOND",
"non_reserved_word : MINVALUE",
"non_reserved_word : MOD",
"non_reserved_word : OVERLAY",
"non_reserved_word : PAD",
"non_reserved_word : PI",
"non_reserved_word : PLACING",
"non_reserved_word : POWER",
"non_reserved_word : PRESERVE",
"non_reserved_word : RAND",
"non_reserved_word : REPLACE",
"non_reserved_word : REVERSE",
"non_reserved_word : ROUND",
"non_reserved_word : RPAD",
"non_reserved_word : SIGN",
"non_reserved_word : SIN",
"non_reserved_word : SINH",
"non_reserved_word : SPACE",
"non_reserved_word : SQRT",
"non_reserved_word : TAN",
"non_reserved_word : TANH",
"non_reserved_word : TEMPORARY",
"non_reserved_word : TRUNC",
"non_reserved_word : WEEK",
"non_reserved_word : AUTONOMOUS",
"non_reserved_word : CHAR_TO_UUID",
"non_reserved_word : FIRSTNAME",
"non_reserved_word : MIDDLENAME",
"non_reserved_word : LASTNAME",
"non_reserved_word : MAPPING",
"non_reserved_word : OS_NAME",
"non_reserved_word : UUID_TO_CHAR",
"non_reserved_word : GRANTED",
"non_reserved_word : CALLER",
"non_reserved_word : COMMON",
"non_reserved_word : DATA",
"non_reserved_word : SOURCE",
"non_reserved_word : TWO_PHASE",
"non_reserved_word : BIN_NOT",
"non_reserved_word : ACTIVE",
"non_reserved_word : AFTER",
"non_reserved_word : ASC",
"non_reserved_word : AUTO",
"non_reserved_word : BEFORE",
"non_reserved_word : COMMITTED",
"non_reserved_word : COMPUTED",
"non_reserved_word : CONDITIONAL",
"non_reserved_word : CONTAINING",
"non_reserved_word : CSTRING",
"non_reserved_word : DATABASE",
"non_reserved_word : DESC",
"non_reserved_word : DO",
"non_reserved_word : DOMAIN",
"non_reserved_word : ENTRY_POINT",
"non_reserved_word : EXCEPTION",
"non_reserved_word : EXIT",
"non_reserved_word : KW_FILE",
"non_reserved_word : GENERATOR",
"non_reserved_word : GEN_ID",
"non_reserved_word : IF",
"non_reserved_word : INACTIVE",
"non_reserved_word : INPUT_TYPE",
"non_reserved_word : ISOLATION",
"non_reserved_word : KEY",
"non_reserved_word : LENGTH",
"non_reserved_word : LEVEL",
"non_reserved_word : MANUAL",
"non_reserved_word : MODULE_NAME",
"non_reserved_word : NAMES",
"non_reserved_word : OPTION",
"non_reserved_word : OUTPUT_TYPE",
"non_reserved_word : OVERFLOW",
"non_reserved_word : PAGE",
"non_reserved_word : PAGES",
"non_reserved_word : KW_PAGE_SIZE",
"non_reserved_word : PASSWORD",
"non_reserved_word : PRIVILEGES",
"non_reserved_word : PROTECTED",
"non_reserved_word : READ",
"non_reserved_word : RESERVING",
"non_reserved_word : RETAIN",
"non_reserved_word : SEGMENT",
"non_reserved_word : SHADOW",
"non_reserved_word : KW_SHARED",
"non_reserved_word : SINGULAR",
"non_reserved_word : KW_SIZE",
"non_reserved_word : SNAPSHOT",
"non_reserved_word : SORT",
"non_reserved_word : STABILITY",
"non_reserved_word : STARTING",
"non_reserved_word : STATISTICS",
"non_reserved_word : SUB_TYPE",
"non_reserved_word : SUSPEND",
"non_reserved_word : TRANSACTION",
"non_reserved_word : UNCOMMITTED",
"non_reserved_word : WAIT",
"non_reserved_word : WORK",
"non_reserved_word : WRITE",
};
#endif
#ifndef YYSTYPE
typedef int YYSTYPE;
#endif

#ifdef YYREDUCEPOSNFUNC
#define YYCALLREDUCEPOSN(e)   \
	if (reduce_posn) {     \
	  YYREDUCEPOSNFUNC(yyps->pos, &(yyps->psp)[1 - yym], &(yyps->vsp)[1 - yym], \
			   yym, yyps->psp - yyps->ps, yychar, yyposn, e);       \
	  reduce_posn = 0;    \
	}

#ifndef YYCALLREDUCEPOSNARG
#define YYCALLREDUCEPOSNARG yyps->val
#endif


#define YYPOSNARG(n) ((yyps->psp)[1 - yym + (n) - 1])
#define YYPOSNOUT    (yyps->pos)
#endif

// If delete function is not defined by the user, do not deletions.
#ifndef YYDELETEVAL
#define YYDELETEVAL(v, n) 
#endif

// If delete function is not defined by the user, do not deletions.
#ifndef YYDELETEPOSN
#define YYDELETEPOSN(v, n) 
#endif

#define yyclearin (yychar = (-1))

#define yyerrok (yyps->errflag = 0)

#ifndef YYSTACKGROWTH
#define YYSTACKGROWTH 16
#endif

#ifndef YYDEFSTACKSIZE
#define YYDEFSTACKSIZE 12
#endif

#ifdef YYDEBUG
int yydebug;
#endif


#define YYABORT  goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR  goto yyerrlab
#define YYVALID         do { if (yyps->save)          goto yyvalid; } while(0)
#define YYVALID_NESTED  do { if (yyps->save && \
                                 yyps->save->save == 0) goto yyvalid; } while(0)
//
// For use in generated program
//
#define yytrial (yyps->save)
#define yyvsp   (yyps->vsp)
#define yyval   (yyps->val)
#define yydepth (yyps->ssp - yyps->ss)




/*
 *	PROGRAM:	Dynamic SQL runtime support
 *	MODULE:		lex.c
 *	DESCRIPTION:	Lexical routine
 *
 */


void LEX_dsql_init(MemoryPool& pool)
{
/**************************************
 *
 *	L E X _ d s q l _ i n i t
 *
 **************************************
 *
 * Functional description
 *	Initialize LEX for processing.  This is called only once
 *	per session.
 *
 **************************************/
	for (const TOK* token = KEYWORD_getTokens(); token->tok_string; ++token)
	{
		dsql_sym* symbol = FB_NEW_RPT(pool, 0) dsql_sym;
		symbol->sym_string = token->tok_string;
		symbol->sym_length = strlen(token->tok_string);
		symbol->sym_type = SYM_keyword;
		symbol->sym_keyword = token->tok_ident;
		symbol->sym_version = token->tok_version;
		dsql_str* str = FB_NEW_RPT(pool, symbol->sym_length) dsql_str;
		str->str_length = symbol->sym_length;
		strncpy(str->str_data, symbol->sym_string, symbol->sym_length);
		//str->str_data[str->str_length] = 0; Is it necessary?
		symbol->sym_object = (void *) str;
		HSHD_insert(symbol);
	}
}


const TEXT* Parser::lex_position()
{
/**************************************
 *
 *	l e x _ p o s i t i o n
 *
 **************************************
 *
 * Functional description
 *	Return the current position of LEX
 *	in the input string.
 *
 **************************************/

	return lex.ptr;
}


#ifdef NOT_USED_OR_REPLACED
static bool long_int(dsql_nod* string,
					 SLONG *long_value)
{
/*************************************
 *
 *	l o n g _ i n t
 *
 *************************************
 *
 * Functional description
 *	checks for all digits in the
 *	number and return an atol().
 *
 *************************************/

	const char* data = ((dsql_str*) string)->str_data;
	for (const UCHAR* p = (UCHAR*) data; true; p++)
	{
		if (!(classes(*p) & CHR_DIGIT)) {
			return false;
		}
	}

	*long_value = atol(data);

	return true;
}
#endif


static dsql_fld* make_field (dsql_nod* field_name)
{
/**************************************
 *
 *	m a k e _ f i e l d
 *
 **************************************
 *
 * Functional description
 *	Make a field block of given name.
 *
 **************************************/
	thread_db* tdbb = JRD_get_thread_data();

	if (field_name == NULL)
	{
		dsql_fld* field = FB_NEW(*tdbb->getDefaultPool())
			dsql_fld(*tdbb->getDefaultPool());
		field->fld_name = INTERNAL_FIELD_NAME;
		return field;
	}
	const dsql_str* string = (dsql_str*) field_name->nod_arg[1];
	dsql_fld* field = FB_NEW(*tdbb->getDefaultPool())
		dsql_fld(*tdbb->getDefaultPool());
	field->fld_name = string->str_data;
	field->fld_explicit_collation = false;
	field->fld_not_nullable = false;
	field->fld_full_domain = false;

	return field;
}


static dsql_fil* make_file()
{
/**************************************
 *
 *	m a k e _ f i l e
 *
 **************************************
 *
 * Functional description
 *	Make a file block
 *
 **************************************/
	thread_db* tdbb = JRD_get_thread_data();

	dsql_fil* temp_file = FB_NEW(*tdbb->getDefaultPool()) dsql_fil;

	return temp_file;
}


dsql_nod* Parser::make_list (dsql_nod* node)
{
/**************************************
 *
 *	m a k e _ l i s t
 *
 **************************************
 *
 * Functional description
 *	Collapse nested list nodes into single list.
 *
 **************************************/
	thread_db* tdbb = JRD_get_thread_data();

	if (node)
	{
		DsqlNodStack stack;
		stack_nodes(node, stack);
		USHORT l = stack.getCount();

		const dsql_nod* old = node;
		node = FB_NEW_RPT(*tdbb->getDefaultPool(), l) dsql_nod;
		node->nod_count = l;
		node->nod_type = nod_list;
		node->nod_line = (USHORT) lex.lines_bk;
		node->nod_column = (USHORT) (lex.last_token_bk - lex.line_start_bk + 1);
		if (old->getType() == dsql_type_nod)
		{
			node->nod_flags = old->nod_flags;
		}
		dsql_nod** ptr = node->nod_arg + node->nod_count;

		while (stack.hasData())
			*--ptr = stack.pop();
	}

	return node;
}


dsql_nod* Parser::make_parameter()
{
/**************************************
 *
 *	m a k e _ p a r a m e t e r
 *
 **************************************
 *
 * Functional description
 *	Make parameter node
 *	Any change should also be made to function below
 *
 **************************************/
	thread_db* tdbb = JRD_get_thread_data();

	dsql_nod* node = FB_NEW_RPT(*tdbb->getDefaultPool(), e_par_count) dsql_nod;
	node->nod_type = nod_parameter;
	node->nod_line = (USHORT) lex.lines_bk;
	node->nod_column = (USHORT) (lex.last_token_bk - lex.line_start_bk + 1);
	node->nod_count = e_par_count;
	node->nod_arg[e_par_index] = (dsql_nod*)(IPTR) lex.param_number++;

	return node;
}


dsql_nod* Parser::make_node(NOD_TYPE type, int count, ...)
{
/**************************************
 *
 *	m a k e _ n o d e
 *
 **************************************
 *
 * Functional description
 *	Make a node of given type.
 *	Any change should also be made to function below
 *
 **************************************/
	thread_db* tdbb = JRD_get_thread_data();

	dsql_nod* node = FB_NEW_RPT(*tdbb->getDefaultPool(), count) dsql_nod;
	node->nod_type = type;
	node->nod_line = (USHORT) lex.lines_bk;
	node->nod_column = (USHORT) (lex.last_token_bk - lex.line_start_bk + 1);
	node->nod_count = count;
	dsql_nod** p = node->nod_arg;
	va_list	ptr;
	va_start (ptr, count);

	while (--count >= 0)
		*p++ = va_arg (ptr, dsql_nod*);

	va_end(ptr);
	return node;
}


dsql_nod* Parser::makeClassNode(Node* node)
{
	return make_node(nod_class_node, 1, reinterpret_cast<dsql_nod*>(node));
}


dsql_nod* Parser::make_flag_node(NOD_TYPE type, SSHORT flag, int count, ...)
{
/**************************************
 *
 *	m a k e _ f l a g _ n o d e
 *
 **************************************
 *
 * Functional description
 *	Make a node of given type. Set flag field
 *
 **************************************/
	thread_db* tdbb = JRD_get_thread_data();

	dsql_nod* node = FB_NEW_RPT(*tdbb->getDefaultPool(), count) dsql_nod;
	node->nod_type = type;
	node->nod_flags = flag;
	node->nod_line = (USHORT) lex.lines_bk;
	node->nod_column = (USHORT) (lex.last_token_bk - lex.line_start_bk + 1);
	node->nod_count = count;
	dsql_nod** p = node->nod_arg;
	va_list	ptr;
	va_start (ptr, count);

	while (--count >= 0)
		*p++ = va_arg (ptr, dsql_nod*);

	va_end(ptr);
	return node;
}


#ifdef NOT_USED_OR_REPLACED
static bool short_int(dsql_nod* string,
					  SLONG *long_value,
					  SSHORT range)
{
/*************************************
 *
 *	s h o r t _ i n t
 *
 *************************************
 *
 * Functional description
 *	is the string a valid representation
 *	of a positive short int?
 *
 *************************************/

	if (((dsql_str*) string)->str_length > 5) {
		return false;
	}

	for (UCHAR* p = (UCHAR*)((dsql_str*) string)->str_data; true; p++)
	{
		if (!(classes(*p) & CHR_DIGIT)) {
			return false;
		}
	}

	/* there are 5 or fewer digits, it's value may still be greater
	 * than 32767... */

	SCHAR buf[10];
	buf[0] = ((dsql_str*) string)->str_data[0];
	buf[1] = ((dsql_str*) string)->str_data[1];
	buf[2] = ((dsql_str*) string)->str_data[2];
	buf[3] = ((dsql_str*) string)->str_data[3];
	buf[4] = ((dsql_str*) string)->str_data[4];
	buf[5] = '\0';

	*long_value = atoi (buf);

	bool return_value;

	switch (range)
	{
		case POSITIVE:
			return_value = *long_value > SHRT_POS_MAX;
			break;
		case NEGATIVE:
			return_value = *long_value > SHRT_NEG_MAX;
			break;
		case UNSIGNED:
			return_value = *long_value > SHRT_UNSIGNED_MAX;
			break;
	}
	return !return_value;
}
#endif

static void stack_nodes (dsql_nod*	node,
						 DsqlNodStack& stack)
{
/**************************************
 *
 *	s t a c k _ n o d e s
 *
 **************************************
 *
 * Functional description
 *	Assist in turning a tree of misc nodes into a clean list.
 *
 **************************************/
	if (node->nod_type != nod_list)
	{
		stack.push(node);
		return;
	}

	/* To take care of cases where long lists of nodes are in a chain
	   of list nodes with exactly one entry, this algorithm will look
	   for a pattern of repeated list nodes with two entries, the first
	   being a list node and the second being a non-list node.   Such
	   a list will be reverse linked, and then re-reversed, stacking the
	   non-list nodes in the process.   The purpose of this is to avoid
	   massive recursion of this function. */

	dsql_nod* start_chain = node;
	dsql_nod* end_chain = NULL;
	dsql_nod* curr_node = node;
	dsql_nod* next_node = node->nod_arg[0];
	while ( curr_node->nod_count == 2 &&
			curr_node->nod_arg[0]->nod_type == nod_list &&
			curr_node->nod_arg[1]->nod_type != nod_list &&
			next_node->nod_arg[0]->nod_type == nod_list &&
			next_node->nod_arg[1]->nod_type != nod_list)
	{

		/* pattern was found so reverse the links and go to next node */

		dsql_nod* save_link = next_node->nod_arg[0];
		next_node->nod_arg[0] = curr_node;
		curr_node = next_node;
		next_node = save_link;
		end_chain = curr_node;
	}

	/* see if any chain was found */

	if (end_chain)
	{

		/* first, handle the rest of the nodes */
		/* note that next_node still points to the first non-pattern node */

		stack_nodes (next_node, stack);

		/* stack the non-list nodes and reverse the chain on the way back */

		curr_node = end_chain;
		while (true)
		{
			stack.push(curr_node->nod_arg[1]);
			if ( curr_node == start_chain)
				break;
			dsql_nod* save_link = curr_node->nod_arg[0];
			curr_node->nod_arg[0] = next_node;
			next_node = curr_node;
			curr_node = save_link;
		}
		return;
	}

	dsql_nod** ptr = node->nod_arg;
	for (const dsql_nod* const* const end = ptr + node->nod_count; ptr < end; ptr++)
		stack_nodes (*ptr, stack);
}

static Firebird::MetaName toName(dsql_nod* node)
{
	return Firebird::MetaName(((dsql_str*) node)->str_data);
}

int Parser::yylex()
{
	lex.prev_keyword = yylexAux();
	return lex.prev_keyword;
}

int Parser::yylexAux()
{
/**************************************
 *
 *	y y l e x A u x
 *
 **************************************
 *
 * Functional description: lexer.
 *
 **************************************/
	UCHAR tok_class;
	char string[MAX_TOKEN_LEN];
	SSHORT c;

	/* Find end of white space and skip comments */

	for (;;)
	{
		if (lex.ptr >= lex.end)
			return -1;

		c = *lex.ptr++;

		/* Process comments */

		if (c == '\n') {
			lex.lines++;
			lex.line_start = lex.ptr;
			continue;
		}

		if (c == '-' && lex.ptr < lex.end && *lex.ptr == '-')
		{
			/* single-line */

			lex.ptr++;
			while (lex.ptr < lex.end) {
				if ((c = *lex.ptr++) == '\n') {
					lex.lines++;
					lex.line_start = lex.ptr /* + 1*/; /* CVC: +1 left out. */
					break;
				}
			}
			if (lex.ptr >= lex.end)
				return -1;
			continue;
		}
		else if (c == '/' && lex.ptr < lex.end && *lex.ptr == '*')
		{
			/* multi-line */

			const TEXT& start_block = lex.ptr[-1];
			lex.ptr++;
			while (lex.ptr < lex.end) {
				if ((c = *lex.ptr++) == '*') {
					if (*lex.ptr == '/')
						break;
				}
				if (c == '\n') {
					lex.lines++;
					lex.line_start = lex.ptr /* + 1*/; /* CVC: +1 left out. */

				}
			}
			if (lex.ptr >= lex.end)
			{
				// I need this to report the correct beginning of the block,
				// since it's not a token really.
				lex.last_token = &start_block;
				yyerror("unterminated block comment");
				return -1;
			}
			lex.ptr++;
			continue;
		}

		tok_class = classes(c);

		if (!(tok_class & CHR_WHITE))
			break;
	}

	/* Depending on tok_class of token, parse token */

	lex.last_token = lex.ptr - 1;

	if (tok_class & CHR_INTRODUCER)
	{
		/* The Introducer (_) is skipped, all other idents are copied
		 * to become the name of the character set
		 */
		char* p = string;
		for (; lex.ptr < lex.end && classes(*lex.ptr) & CHR_IDENT; lex.ptr++)
		{
			if (lex.ptr >= lex.end)
				return -1;
			check_copy_incr(p, UPPER7(*lex.ptr), string);
		}

		check_bound(p, string);
		*p = 0;

		/* make a string value to hold the name, the name
		 * is resolved in pass1_constant */

		yylval = (dsql_nod*) (MAKE_string(string, p - string))->str_data;

		return INTRODUCER;
	}

	/* parse a quoted string, being sure to look for double quotes */

	if (tok_class & CHR_QUOTE)
	{
		StrMark mark;
		mark.pos = lex.last_token - lex.start;

		char* buffer = string;
		size_t buffer_len = sizeof (string);
		const char* buffer_end = buffer + buffer_len - 1;
		char* p;
		for (p = buffer; ; ++p)
		{
			if (lex.ptr >= lex.end)
			{
				if (buffer != string)
					gds__free (buffer);
				yyerror("unterminated string");
				return -1;
			}
			// Care about multi-line constants and identifiers
			if (*lex.ptr == '\n') {
				lex.lines++;
				lex.line_start = lex.ptr + 1;
			}
			/* *lex.ptr is quote - if next != quote we're at the end */
			if ((*lex.ptr == c) && ((++lex.ptr == lex.end) || (*lex.ptr != c)))
				break;
			if (p > buffer_end)
			{
				char* const new_buffer = (char*) gds__alloc (2 * buffer_len);
			/* FREE: at outer block */
				if (!new_buffer)		/* NOMEM: */
				{
					if (buffer != string)
						gds__free (buffer);
					return -1;
				}
				memcpy (new_buffer, buffer, buffer_len);
				if (buffer != string)
					gds__free (buffer);
				buffer = new_buffer;
				p = buffer + buffer_len;
				buffer_len = 2 * buffer_len;
				buffer_end = buffer + buffer_len - 1;
			}
			*p = *lex.ptr++;
		}
		if (c == '"')
		{
			stmt_ambiguous = true; /* string delimited by double quotes could be
					**   either a string constant or a SQL delimited
					**   identifier, therefore marks the SQL
					**   statement as ambiguous  */
			if (client_dialect == SQL_DIALECT_V6_TRANSITION)
			{
				if (buffer != string)
					gds__free (buffer);
				yyabandon (-104, isc_invalid_string_constant);
			}
			else if (client_dialect >= SQL_DIALECT_V6)
			{
				if ((p - buffer) >= MAX_TOKEN_LEN)
				{
					if (buffer != string)
						gds__free (buffer);
					yyabandon (-104, isc_token_too_long);
				}
				yylval = (dsql_nod*) MAKE_string(buffer, p - buffer);
				dsql_str* delimited_id_str = (dsql_str*) yylval;
				delimited_id_str->type = dsql_str::TYPE_DELIMITED;
				if (buffer != string)
					gds__free (buffer);
				return SYMBOL;
			}
		}
		yylval = (dsql_nod*) MAKE_string(buffer, p - buffer);
		if (buffer != string)
			gds__free (buffer);

		mark.length = lex.ptr - lex.last_token;
		mark.str = (dsql_str*) yylval;
		strMarks.put(mark.str, mark);

		return STRING;
	}

/*
 * Check for a numeric constant, which starts either with a digit or with
 * a decimal point followed by a digit.
 *
 * This code recognizes the following token types:
 *
 * NUMBER: string of digits which fits into a 32-bit integer
 *
 * NUMBER64BIT: string of digits whose value might fit into an SINT64,
 *   depending on whether or not there is a preceding '-', which is to
 *   say that "9223372036854775808" is accepted here.
 *
 * SCALEDINT: string of digits and a single '.', where the digits
 *   represent a value which might fit into an SINT64, depending on
 *   whether or not there is a preceding '-'.
 *
 * FLOAT: string of digits with an optional '.', and followed by an "e"
 *   or "E" and an optionally-signed exponent.
 *
 * NOTE: we swallow leading or trailing blanks, but we do NOT accept
 *   embedded blanks:
 *
 * Another note: c is the first character which need to be considered,
 *   ptr points to the next character.
 */

	fb_assert(lex.ptr <= lex.end);

	// Hexadecimal string constant.  This is treated the same as a
	// string constant, but is defined as: X'bbbb'
	//
	// Where the X is a literal 'x' or 'X' character, followed
	// by a set of nibble values in single quotes.  The nibble
	// can be 0-9, a-f, or A-F, and is converted from the hex.
	// The number of nibbles should be even.
	//
	// The resulting value is stored in a string descriptor and
	// returned to the parser as a string.  This can be stored
	// in a character or binary item.
	if ((c == 'x' || c == 'X') && lex.ptr < lex.end && *lex.ptr == '\'')
	{
		bool hexerror = false;

		// Remember where we start from, to rescan later.
		// Also we'll need to know the length of the buffer.

		const char* hexstring = ++lex.ptr;
		int charlen = 0;

		// Time to scan the string. Make sure the characters are legal,
		// and find out how long the hex digit string is.

		for (;;)
		{
			if (lex.ptr >= lex.end)	// Unexpected EOS
			{
				hexerror = true;
				break;
			}

			c = *lex.ptr;

			if (c == '\'')			// Trailing quote, done
			{
				++lex.ptr;			// Skip the quote
				break;
			}

			if (!(classes(c) & CHR_HEX))	// Illegal character
			{
				hexerror = true;
				break;
			}

			++charlen;	// Okay, just count 'em
			++lex.ptr;	// and advance...
		}

		hexerror = hexerror || (charlen & 1);	// IS_ODD(charlen)

		// If we made it this far with no error, then convert the string.
		if (!hexerror)
		{
			// Figure out the length of the actual resulting hex string.
			// Allocate a second temporary buffer for it.

			Firebird::string temp;

			// Re-scan over the hex string we got earlier, converting
			// adjacent bytes into nibble values.  Every other nibble,
			// write the saved byte to the temp space.  At the end of
			// this, the temp.space area will contain the binary
			// representation of the hex constant.

			UCHAR byte = 0;
			for (int i = 0; i < charlen; i++)
			{
				c = UPPER7(hexstring[i]);

				// Now convert the character to a nibble

				if (c >= 'A')
					c = (c - 'A') + 10;
				else
					c = (c - '0');

				if (i & 1) // nibble?
				{
					byte = (byte << 4) + (UCHAR) c;
					temp.append(1, (char) byte);
				}
				else
					byte = c;
			}

			dsql_str* string = MAKE_string(temp.c_str(), temp.length());
			string->type = dsql_str::TYPE_HEXA;
			string->str_charset = "BINARY";
			yylval = (dsql_nod*) string;

			return STRING;
		}  // if (!hexerror)...

		// If we got here, there was a parsing error.  Set the
		// position back to where it was before we messed with
		// it.  Then fall through to the next thing we might parse.

		c = *lex.last_token;
		lex.ptr = lex.last_token + 1;
	}

	// Hexadecimal numeric constants - 0xBBBBBB
	//
	// where the '0' and the 'X' (or 'x') are literal, followed
	// by a set of nibbles, using 0-9, a-f, or A-F.  Odd numbers
	// of nibbles assume a leading '0'.  The result is converted
	// to an integer, and the result returned to the caller.  The
	// token is identified as a NUMBER if it's a 32-bit or less
	// value, or a NUMBER64INT if it requires a 64-bit number.
	if (c == '0' && lex.ptr + 1 < lex.end && (*lex.ptr == 'x' || *lex.ptr == 'X') &&
		(classes(lex.ptr[1]) & CHR_HEX))
	{
		bool hexerror = false;

		// Remember where we start from, to rescan later.
		// Also we'll need to know the length of the buffer.

		++lex.ptr;  // Skip the 'X' and point to the first digit
		const char* hexstring = lex.ptr;
		int charlen = 0;

		// Time to scan the string. Make sure the characters are legal,
		// and find out how long the hex digit string is.

		for (;;)
		{
			if (lex.ptr >= lex.end)			// Unexpected EOS
			{
				hexerror = true;
				break;
			}

			c = *lex.ptr;

			if (!(classes(c) & CHR_HEX))	// End of digit string
				break;

			++charlen;			// Okay, just count 'em
			++lex.ptr;			// and advance...

			if (charlen > 16)	// Too many digits...
			{
				hexerror = true;
				break;
			}
		}

		// we have a valid hex token. Now give it back, either as
		// an NUMBER or NUMBER64BIT.
		if (!hexerror)
		{
			// if charlen > 8 (something like FFFF FFFF 0, w/o the spaces)
			// then we have to return a NUMBER64BIT. We'll make a string
			// node here, and let make.cpp worry about converting the
			// string to a number and building the node later.
			if (charlen > 8)
			{
				char cbuff[32];
				cbuff[0] = 'X';
				strncpy(&cbuff[1], hexstring, charlen);
				cbuff[charlen + 1] = '\0';

				char* p = &cbuff[1];

				while (*p != '\0')
				{
					if ((*p >= 'a') && (*p <= 'f'))
						*p = UPPER(*p);
					p++;
				}

				yylval = (dsql_nod*) MAKE_string(cbuff, strlen(cbuff));
				return NUMBER64BIT;
			}
			else
			{
				// we have an integer value. we'll return NUMBER.
				// but we have to make a number value to be compatible
				// with existing code.

				// See if the string length is odd.  If so,
				// we'll assume a leading zero.  Then figure out the length
				// of the actual resulting hex string.  Allocate a second
				// temporary buffer for it.

				bool nibble = (charlen & 1);  // IS_ODD(temp.length)

				// Re-scan over the hex string we got earlier, converting
				// adjacent bytes into nibble values.  Every other nibble,
				// write the saved byte to the temp space.  At the end of
				// this, the temp.space area will contain the binary
				// representation of the hex constant.

				UCHAR byte = 0;
				SINT64 value = 0;

				for (int i = 0; i < charlen; i++)
				{
					c = UPPER(hexstring[i]);

					// Now convert the character to a nibble

					if (c >= 'A')
						c = (c - 'A') + 10;
					else
						c = (c - '0');

					if (nibble)
					{
						byte = (byte << 4) + (UCHAR) c;
						nibble = false;
						value = (value << 8) + byte;
					}
					else
					{
						byte = c;
						nibble = true;
					}
				}

				yylval = (dsql_nod*)(long) value;
				return NUMBER;
			} // integer value
		}  // if (!hexerror)...

		// If we got here, there was a parsing error.  Set the
		// position back to where it was before we messed with
		// it.  Then fall through to the next thing we might parse.

		c = *lex.last_token;
		lex.ptr = lex.last_token + 1;
	} // headecimal numeric constants

	if ((tok_class & CHR_DIGIT) ||
		((c == '.') && (lex.ptr < lex.end) && (classes(*lex.ptr) & CHR_DIGIT)))
	{
		/* The following variables are used to recognize kinds of numbers. */

		bool have_error	 = false;	/* syntax error or value too large */
		bool have_digit	 = false;	/* we've seen a digit			  */
		bool have_decimal   = false;	/* we've seen a '.'				*/
		bool have_exp	   = false;	/* digit ... [eE]				  */
		bool have_exp_sign  = false; /* digit ... [eE] {+-]			 */
		bool have_exp_digit = false; /* digit ... [eE] ... digit		*/
		FB_UINT64 number		= 0;
		FB_UINT64 limit_by_10	= MAX_SINT64 / 10;

		for (--lex.ptr; lex.ptr < lex.end; lex.ptr++)
		{
			c = *lex.ptr;
			if (have_exp_digit && (! (classes(c) & CHR_DIGIT)))
				/* First non-digit after exponent and digit terminates
				 the token. */
				break;
			else if (have_exp_sign && (! (classes(c) & CHR_DIGIT)))
			{
				/* only digits can be accepted after "1E-" */
				have_error = true;
				break;
			}
			else if (have_exp)
			{
				/* We've seen e or E, but nothing beyond that. */
				if ( ('-' == c) || ('+' == c) )
					have_exp_sign = true;
				else if ( classes(c) & CHR_DIGIT )
					/* We have a digit: we haven't seen a sign yet,
					but it's too late now. */
					have_exp_digit = have_exp_sign  = true;
				else
				{
					/* end of the token */
					have_error = true;
					break;
				}
			}
			else if ('.' == c)
			{
				if (!have_decimal)
					have_decimal = true;
				else
				{
					have_error = true;
					break;
				}
			}
			else if (classes(c) & CHR_DIGIT)
			{
				/* Before computing the next value, make sure there will be
				   no overflow.  */

				have_digit = true;

				if (number >= limit_by_10)
				{
				/* possibility of an overflow */
					if ((number > limit_by_10) || (c > '8'))
					{
						have_error = true;
						break;
					}
				}
				number = number * 10 + (c - '0');
			}
			else if ( (('E' == c) || ('e' == c)) && have_digit )
				have_exp = true;
			else
				/* Unexpected character: this is the end of the number. */
				break;
		}

		/* We're done scanning the characters: now return the right kind
		   of number token, if any fits the bill. */

		if (!have_error)
		{
			fb_assert(have_digit);

			if (have_exp_digit)
			{
				yylval = (dsql_nod*) MAKE_string(lex.last_token, lex.ptr - lex.last_token);
				lex.last_token_bk = lex.last_token;
				lex.line_start_bk = lex.line_start;
				lex.lines_bk = lex.lines;

				return FLOAT_NUMBER;
			}
			else if (!have_exp)
			{

				/* We should return some kind (scaled-) integer type
				   except perhaps in dialect 1. */

				if (!have_decimal && (number <= MAX_SLONG))
				{
					yylval = (dsql_nod*) (IPTR) number;
					//printf ("parse.y %p %d\n", yylval, number);
					return NUMBER;
				}
				else
				{
					/* We have either a decimal point with no exponent
					   or a string of digits whose value exceeds MAX_SLONG:
					   the returned type depends on the client dialect,
					   so warn of the difference if the client dialect is
					   SQL_DIALECT_V6_TRANSITION.
					*/

					if (SQL_DIALECT_V6_TRANSITION == client_dialect)
					{
						/* Issue a warning about the ambiguity of the numeric
						 * numeric literal.  There are multiple calls because
						 * the message text exceeds the 119-character limit
						 * of our message database.
						 */
						ERRD_post_warning(Arg::Warning(isc_dsql_warning_number_ambiguous) <<
										  Arg::Str(Firebird::string(lex.last_token, lex.ptr - lex.last_token)));
						ERRD_post_warning(Arg::Warning(isc_dsql_warning_number_ambiguous1));
					}

					yylval = (dsql_nod*) MAKE_string(lex.last_token, lex.ptr - lex.last_token);

					lex.last_token_bk = lex.last_token;
					lex.line_start_bk = lex.line_start;
					lex.lines_bk = lex.lines;

					if (client_dialect < SQL_DIALECT_V6_TRANSITION)
						return FLOAT_NUMBER;
					else if (have_decimal)
						return SCALEDINT;
					else
						return NUMBER64BIT;
				}
			} /* else if (!have_exp) */
		} /* if (!have_error) */

		/* we got some kind of error or overflow, so don't recognize this
		 * as a number: just pass it through to the next part of the lexer.
		 */
	}

	/* Restore the status quo ante, before we started our unsuccessful
	   attempt to recognize a number. */
	lex.ptr = lex.last_token;
	c   = *lex.ptr++;
	/* We never touched tok_class, so it doesn't need to be restored. */

	/* end of number-recognition code */


	if (tok_class & CHR_LETTER)
	{
		char* p = string;
		check_copy_incr(p, UPPER (c), string);
		for (; lex.ptr < lex.end && classes(*lex.ptr) & CHR_IDENT; lex.ptr++)
		{
			if (lex.ptr >= lex.end)
				return -1;
			check_copy_incr(p, UPPER (*lex.ptr), string);
		}

		check_bound(p, string);
		*p = 0;
		dsql_sym* sym =
			HSHD_lookup (NULL, string, (SSHORT)(p - string), SYM_keyword, parser_version);
		if (sym && (sym->sym_keyword != COMMENT || lex.prev_keyword == -1))
		{
			yylval = (dsql_nod*) sym->sym_object;
			lex.last_token_bk = lex.last_token;
			lex.line_start_bk = lex.line_start;
			lex.lines_bk = lex.lines;
			return sym->sym_keyword;
		}
		yylval = (dsql_nod*) MAKE_string(string, p - string);
		lex.last_token_bk = lex.last_token;
		lex.line_start_bk = lex.line_start;
		lex.lines_bk = lex.lines;
		return SYMBOL;
	}

	/* Must be punctuation -- test for double character punctuation */

	if (lex.last_token + 1 < lex.end)
	{
		dsql_sym* sym =
			HSHD_lookup (NULL, lex.last_token, (SSHORT) 2, SYM_keyword, (USHORT) parser_version);
		if (sym)
		{
			++lex.ptr;
			return sym->sym_keyword;
		}
	}

	/* Single character punctuation are simply passed on */

	return (UCHAR) c;
}


void Parser::yyerror_detailed(const TEXT*
#ifdef DEV_BUILD
										  error_string
#endif
													  , int yychar, YYSTYPE&, YYPOSN&)
{
/**************************************
 *
 *	y y e r r o r _ d e t a i l e d
 *
 **************************************
 *
 * Functional description
 *	Print a syntax error.
 *
 **************************************/
	const TEXT* line_start = lex.line_start;
	SLONG lines = lex.lines;
	if (lex.last_token < lex.line_start)
	{
		line_start = lex.line_start_bk;
		lines--;
	}

	if (yychar < 1)
	{
		ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
				  /* Unexpected end of command */
				  Arg::Gds(isc_command_end_err2) << Arg::Num(lines) <<
													Arg::Num(lex.last_token - line_start + 1)
#ifdef DEV_BUILD
				  << Arg::Gds(isc_random) << error_string
#endif
				  );
	}
	else
	{
		ERRD_post (Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
				  /* Token unknown - line %d, column %d */
				  Arg::Gds(isc_dsql_token_unk_err) << Arg::Num(lines) <<
				  									  Arg::Num(lex.last_token - line_start + 1) << /*CVC: +1*/
				  /* Show the token */
				  Arg::Gds(isc_random) << Arg::Str(string(lex.last_token, lex.ptr - lex.last_token)));
	}
}


void Parser::yyerror(const TEXT* error_string)
{
	YYSTYPE errt_value =  0;
	YYPOSN errt_posn = -1;
	yyerror_detailed(error_string, -1, errt_value, errt_posn);
}


static void yyabandon (SLONG		sql_code,
					   ISC_STATUS	error_symbol)
{
/**************************************
 *
 *	y y a b a n d o n
 *
 **************************************
 *
 * Functional description
 *	Abandon the parsing outputting the supplied string
 *
 **************************************/

	ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(sql_code) <<
			  Arg::Gds(error_symbol));
}


void Parser::yySCopy(YYSTYPE* to, YYSTYPE* from, int size)
{
  int i;                             
  for (i = size - 1; i >= 0; i--) {
    to[i] = from[i];
  }
}


void Parser::yyPCopy(YYPOSN* to, YYPOSN* from, int size)
{
  int i;                             
  for (i = size - 1; i >= 0; i--) {
    to[i] = from[i];
  }
}


void Parser::yyMoreStack(yyparsestate* yyps)
{
  int p = yyps->ssp - yyps->ss;                               
  Yshort  *tss = yyps->ss;
  YYSTYPE *tvs = yyps->vs;
  YYPOSN  *tps = yyps->ps;
  yyps->ss = new Yshort [yyps->stacksize + YYSTACKGROWTH];   
  yyps->vs = new YYSTYPE[yyps->stacksize + YYSTACKGROWTH];  
  yyps->ps = new YYPOSN [yyps->stacksize + YYSTACKGROWTH];  
  memcpy(yyps->ss, tss, yyps->stacksize * sizeof(Yshort));  
  yySCopy(yyps->vs, tvs, yyps->stacksize);
  yyPCopy(yyps->ps, tps, yyps->stacksize);
  yyps->stacksize += YYSTACKGROWTH;
  delete[] tss;
  delete[] tvs;
  delete[] tps;
  yyps->ssp = yyps->ss + p;                                   
  yyps->vsp = yyps->vs + p;                                   
  yyps->psp = yyps->ps + p;                                   
}


Parser::yyparsestate* Parser::yyNewState(int size)
{
  yyparsestate *p = new yyparsestate;
  p->stacksize = size + 4;
  p->ss = new Yshort [size + 4];
  p->vs = new YYSTYPE[size + 4];
  p->ps = new YYPOSN [size + 4];
  memset(&p->vs[0], 0, (size + 4) * sizeof(YYSTYPE));
  memset(&p->ps[0], 0, (size + 4) * sizeof(YYPOSN));
  return p;
}


void Parser::yyFreeState(Parser::yyparsestate* p)
{
  delete[] p->ss;
  delete[] p->vs;
  delete[] p->ps;
  delete p;
}


int Parser::parseAux()
{
  int yym, yyn, yystate, yychar, yynewerrflag;
  yyparsestate *yyerrctx = NULL;
  int reduce_posn;

#if YYDEBUG
  const char *yys;
  
  if ((yys = getenv("YYDEBUG"))) {
    yyn = *yys;
    if (yyn >= '0' && yyn <= '9')
      yydebug = yyn - '0'; 
  }
#endif
  
  yyps = yyNewState(YYDEFSTACKSIZE);
  yyps->save = 0;
  yynerrs = 0;
  yyps->errflag = 0;
  yychar = (-1);
  
  yyps->ssp = yyps->ss;
  yyps->vsp = yyps->vs;
  yyps->psp = yyps->ps;
  *(yyps->ssp) = yystate = 0;
  

  //
  // Main parsing loop
  //
 yyloop:
  if ((yyn = yydefred[yystate])) {
    goto yyreduce;
  }

  //
  // Read one token
  //
  if (yychar < 0) {
    if ((yychar = yylex1()) < 0) yychar = 0;
#if YYDEBUG
    if (yydebug) {
      yys = 0;
      if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
      if (!yys) yys = "illegal-symbol";
      printf("yydebug[%d,%p]: state %d, reading %d (%s)", 
	     int(yydepth), yytrial, yystate, yychar, yys);
#ifdef YYDBPR
      printf("<");
      YYDBPR(yylval);
      printf(">");
#endif
      printf("\n"); 
    }
#endif
  }

  //
  // Do we have a conflict?
  //
  if ((yyn = yycindex[yystate]) &&
      (yyn += yychar) >= 0 &&
      yyn <= YYTABLESIZE &&
      yycheck[yyn] == yychar) {
    int ctry;

    if (yypath) {
#if YYDEBUG
      if (yydebug) {
        printf("yydebug[%d,%p]: CONFLICT in state %d: following successful trial parse\n", 
	       int(yydepth), yytrial, yystate);
      }
#endif
      // Switch to the next conflict context
      yyparsestate *save = yypath;
      yypath = save->save;
      ctry = save->ctry;
      if (save->state != yystate) 
        goto yyabort;
      yyFreeState(save); 

    } else {

#if YYDEBUG
      if (yydebug) {
        printf("yydebug[%d,%p]: CONFLICT in state %d. ", 
	       int(yydepth), yytrial, yystate);
        if (yyps->save) {
          printf("ALREADY in conflict. Continue trial parse.");
        } else {
          printf("Start trial parse.");
        }
        printf("\n");
      }
#endif
      yyparsestate *save = yyNewState(yyps->ssp - yyps->ss);
      save->save    = yyps->save;
      save->state   = yystate;
      save->errflag = yyps->errflag;
      save->ssp     = save->ss + (yyps->ssp - yyps->ss);
      save->vsp     = save->vs + (yyps->vsp - yyps->vs);
      save->psp     = save->ps + (yyps->psp - yyps->ps);
      memcpy (save->ss, yyps->ss, (yyps->ssp - yyps->ss + 1) * sizeof(Yshort));
      yySCopy(save->vs, yyps->vs, (yyps->ssp - yyps->ss + 1));
      yyPCopy(save->ps, yyps->ps, (yyps->ssp - yyps->ss + 1));
      ctry = yytable[yyn];
      if (yyctable[ctry] == -1) {
#if YYDEBUG
        if (yydebug && yychar >= 0)
          printf("yydebug[%p]: backtracking 1 token\n", yytrial);
#endif
        ctry++; 
      }
      save->ctry = ctry;
      if (!yyps->save) {
        // If this is a first conflict in the stack, start saving lexemes
        if (!yylexemes) {
          yylexemes = new Yshort[YYSTACKGROWTH];
          yylvals = new YYSTYPE[YYSTACKGROWTH];
          yylvlim = yylvals + YYSTACKGROWTH; 
          yylpsns = new YYPOSN[YYSTACKGROWTH];
          yylplim = yylpsns + YYSTACKGROWTH; 
        }
        if (yylvp == yylve) {
          yylvp = yylve = yylvals;
	  yylpp = yylpe = yylpsns;
          yylexp = yylexemes;
          if (yychar >= 0) {
            *yylve++ = yylval;
            *yylpe++ = yyposn;
            *yylexp = yychar;
            yychar = -1; 
          } 
        } 
      }
      if (yychar >= 0) {
        yylvp--, yylpp--, yylexp--;
        yychar = -1; 
      }
      save->lexeme = yylvp - yylvals;
      yyps->save = save; 
    }
    if (yytable[yyn] == ctry) {
#if YYDEBUG
      if (yydebug)
        printf("yydebug[%d,%p]: state %d, shifting to state %d\n",
               int(yydepth), yytrial, yystate, yyctable[ctry]);
#endif
      if (yychar < 0)
        yylvp++, yylpp++, yylexp++;
      yychar = -1;
      if (yyps->errflag > 0) --yyps->errflag;
      yystate = yyctable[ctry];
      goto yyshift; 
    } else {
      yyn = yyctable[ctry];
      goto yyreduce; 
    } 
  }

  //
  // Is action a shift?
  //
  if ((yyn = yysindex[yystate]) &&
      (yyn += yychar) >= 0 &&
      yyn <= YYTABLESIZE &&
      yycheck[yyn] == yychar) {
#if YYDEBUG
    if (yydebug)
      printf("yydebug[%d,%p]: state %d, shifting to state %d\n",
             int(yydepth), yytrial, yystate, yytable[yyn]);
#endif
    yychar = (-1);
    if (yyps->errflag > 0)  --yyps->errflag;
    yystate = yytable[yyn];
  yyshift:
    if (yyps->ssp >= yyps->ss + yyps->stacksize - 1) {
      yyMoreStack(yyps);
    }
    *++(yyps->ssp) = yystate;
    *++(yyps->vsp) = yylval;
    *++(yyps->psp) = yyposn;
    goto yyloop;
  }
  if ((yyn = yyrindex[yystate]) &&
      (yyn += yychar) >= 0 &&
      yyn <= YYTABLESIZE &&
      yycheck[yyn] == yychar) {
    yyn = yytable[yyn];
    goto yyreduce;
  }

  //
  // Action: error
  //
  if (yyps->errflag) goto yyinrecovery;
  yynewerrflag = 1;
  goto yyerrhandler;
yyerrlab:
  yynewerrflag = 0;
yyerrhandler:
  while (yyps->save) { 
    int ctry; 
    yyparsestate *save = yyps->save;
#if YYDEBUG
    if (yydebug)
      printf("yydebug[%d,%p]: ERROR in state %d, CONFLICT BACKTRACKING to state %d, %d tokens\n",
             int(yydepth), yytrial, yystate, yyps->save->state, int(yylvp - yylvals - yyps->save->lexeme));
#endif
    // Memorize most forward-looking error state in case
    // it's really an error.
    if (yyerrctx == NULL || yyerrctx->lexeme < yylvp-yylvals) {
      // Free old saved error context state
      if (yyerrctx) yyFreeState(yyerrctx);
      // Create and fill out new saved error context state
      yyerrctx = yyNewState(yyps->ssp - yyps->ss);
      yyerrctx->save = yyps->save;
      yyerrctx->state = yystate;
      yyerrctx->errflag = yyps->errflag;
      yyerrctx->ssp = yyerrctx->ss + (yyps->ssp - yyps->ss);
      yyerrctx->vsp = yyerrctx->vs + (yyps->vsp - yyps->vs);
      yyerrctx->psp = yyerrctx->ps + (yyps->psp - yyps->ps);
      memcpy (yyerrctx->ss, yyps->ss, (yyps->ssp - yyps->ss + 1) * sizeof(Yshort));
      yySCopy(yyerrctx->vs, yyps->vs, (yyps->ssp - yyps->ss + 1));
      yyPCopy(yyerrctx->ps, yyps->ps, (yyps->ssp - yyps->ss + 1));
      yyerrctx->lexeme = yylvp - yylvals;
    }
    yylvp  = yylvals   + save->lexeme;
    yylpp  = yylpsns   + save->lexeme;
    yylexp = yylexemes + save->lexeme;
    yychar = -1;
    yyps->ssp = yyps->ss + (save->ssp - save->ss);
    yyps->vsp = yyps->vs + (save->vsp - save->vs);
    yyps->psp = yyps->ps + (save->psp - save->ps);
    memcpy (yyps->ss, save->ss, (yyps->ssp - yyps->ss + 1) * sizeof(Yshort));
    yySCopy(yyps->vs, save->vs,  yyps->vsp - yyps->vs + 1);
    yyPCopy(yyps->ps, save->ps,  yyps->psp - yyps->ps + 1);
    ctry = ++save->ctry;
    yystate = save->state;
    // We tried shift, try reduce now
    if ((yyn = yyctable[ctry]) >= 0) {
      goto yyreduce;
    }
    yyps->save = save->save;
    yyFreeState(save);
    //
    // Nothing left on the stack -- error
    //
    if (!yyps->save) {
#if YYDEBUG
      if (yydebug) {
        printf("yydebug[%p]: trial parse FAILED, entering ERROR mode\n", 
	       yytrial);
      }
#endif
      // Restore state as it was in the most forward-advanced error
      yylvp  = yylvals   + yyerrctx->lexeme;
      yylpp  = yylpsns   + yyerrctx->lexeme;
      yylexp = yylexemes + yyerrctx->lexeme;
      yychar = yylexp[-1];
      yylval = yylvp[-1];
      yyposn = yylpp[-1];
      yyps->ssp = yyps->ss + (yyerrctx->ssp - yyerrctx->ss);
      yyps->vsp = yyps->vs + (yyerrctx->vsp - yyerrctx->vs);
      yyps->psp = yyps->ps + (yyerrctx->psp - yyerrctx->ps);
      memcpy (yyps->ss, yyerrctx->ss, (yyps->ssp - yyps->ss + 1) * sizeof(Yshort));
      yySCopy(yyps->vs, yyerrctx->vs,  yyps->vsp - yyps->vs + 1);
      yyPCopy(yyps->ps, yyerrctx->ps,  yyps->psp - yyps->ps + 1);
      yystate = yyerrctx->state;
      yyFreeState(yyerrctx);
      yyerrctx = NULL;
    }
    yynewerrflag = 1; 
  }
  if (yynewerrflag) {
#ifdef YYERROR_DETAILED
    yyerror_detailed("syntax error", yychar, yylval, yyposn);
#else
    yyerror("syntax error");
#endif
  }
  ++yynerrs;
 yyinrecovery:
  if (yyps->errflag < 3) {
    yyps->errflag = 3;
    for (;;) {
      if ((yyn = yysindex[*(yyps->ssp)]) && 
	  (yyn += YYERRCODE) >= 0 &&
          yyn <= YYTABLESIZE && 
	  yycheck[yyn] == YYERRCODE) {
#if YYDEBUG
        if (yydebug)
          printf("yydebug[%d,%p]: state %d, ERROR recovery shifts to state %d\n",
                 int(yydepth), yytrial, *(yyps->ssp), yytable[yyn]);
#endif
        /* Use label yyerrlab, so that compiler does not warn */
        if (yyps->errflag != yyps->errflag) goto yyerrlab;
        yystate = yytable[yyn];
        goto yyshift; 
      } else {
#if YYDEBUG
        if (yydebug)
          printf("yydebug[%d,%p]: ERROR recovery discards state %d\n",
                 int(yydepth), yytrial, *(yyps->ssp));
#endif
        if (yyps->ssp <= yyps->ss) {
	  goto yyabort;
	}
	if (!yytrial) {
	  YYDELETEVAL(yyps->vsp[0], 1);
	  YYDELETEPOSN(yyps->psp[0], 1);
	}
        --(yyps->ssp);
        --(yyps->vsp);
        --(yyps->psp);
      }
    }
  } else {
    if (yychar == 0) goto yyabort;
#if YYDEBUG
    if (yydebug) {
      yys = 0;
      if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
      if (!yys) yys = "illegal-symbol";
      printf("yydebug[%d,%p]: state %d, ERROR recovery discards token %d (%s)\n",
             int(yydepth), yytrial, yystate, yychar, yys); 
    }
#endif
    if (!yytrial) {
      YYDELETEVAL(yylval, 0);
      YYDELETEPOSN(yyposn, 0);
    }
    yychar = (-1);
    goto yyloop;
  }

  //
  // Reduce the rule
  //
yyreduce:
  yym = yylen[yyn];
#if YYDEBUG
  if (yydebug) {
    printf("yydebug[%d,%p]: state %d, reducing by rule %d (%s)",
           int(yydepth), yytrial, yystate, yyn, yyrule[yyn]);
#ifdef YYDBPR
    if (yym) {
      int i;
      printf("<");
      for (i = yym; i > 0; i--) {
        if (i != yym) printf(", ");
        YYDBPR((yyps->vsp)[1 - i]);
      }
      printf(">");
    }
#endif
    printf("\n");
  }
#endif
  if (yyps->ssp + 1 - yym >= yyps->ss + yyps->stacksize) {
    yyMoreStack(yyps);
  }

  /* default action - assign last argument as in standard yacc */
  yyps->val = yyvsp[1 - yym];

  /* default reduced position is NULL -- no position at all.
     no position will be assigned at trial time and if no position handling is present */
  memset(&yyps->pos, 0, sizeof(yyps->pos));

  reduce_posn = TRUE;

  switch (yyn) {

case 1:
  if (!yytrial)
{ DSQL_parse = yyvsp[0]; }
break;
case 2:
  if (!yytrial)
{ DSQL_parse = yyvsp[-1]; }
break;
case 26:
  if (!yytrial)
{ yyval = make_node (nod_grant, (int) e_grant_count,
					yyvsp[-7], yyvsp[-4], make_list(yyvsp[-2]), yyvsp[-1], yyvsp[0]); }
break;
case 27:
  if (!yytrial)
{ yyval = make_node (nod_grant, (int) e_grant_count,
					yyvsp[-7], yyvsp[-4], make_list(yyvsp[-2]), yyvsp[-1], yyvsp[0]); }
break;
case 28:
  if (!yytrial)
{ yyval = make_node (nod_grant, (int) e_grant_count,
					make_list(yyvsp[-4]), make_list(yyvsp[-2]), NULL, yyvsp[-1], yyvsp[0]); }
break;
case 31:
  if (!yytrial)
{ yyval = make_node (nod_all, (int) 0, NULL); }
break;
case 32:
  if (!yytrial)
{ yyval = make_node (nod_all, (int) 0, NULL); }
break;
case 33:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 35:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 36:
  if (!yytrial)
{ yyval = make_list (make_node (nod_execute, (int) 0, NULL)); }
break;
case 37:
  if (!yytrial)
{ yyval = make_node (nod_select, (int) 0, NULL); }
break;
case 38:
  if (!yytrial)
{ yyval = make_node (nod_insert, (int) 0, NULL); }
break;
case 39:
  if (!yytrial)
{ yyval = make_node (nod_delete, (int) 0, NULL); }
break;
case 40:
  if (!yytrial)
{ yyval = make_node (nod_update, (int) 1, yyvsp[0]); }
break;
case 41:
  if (!yytrial)
{ yyval = make_node (nod_references, (int) 1, yyvsp[0]); }
break;
case 42:
  if (!yytrial)
{ yyval = make_node (nod_grant, (int) 0, NULL); }
break;
case 43:
  if (!yytrial)
{ yyval = NULL; }
break;
case 44:
  if (!yytrial)
{ yyval = make_node (nod_grant_admin, (int) 0, NULL); }
break;
case 45:
  if (!yytrial)
{ yyval = NULL; }
break;
case 46:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 47:
  if (!yytrial)
{ yyval = NULL; }
break;
case 50:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 51:
  if (!yytrial)
{ yyval = make_node (nod_procedure_name, (int) 1, yyvsp[0]); }
break;
case 52:
  if (!yytrial)
{ yyval = make_node (nod_revoke, (int) e_grant_count,
					yyvsp[-6], yyvsp[-3], make_list(yyvsp[-1]), yyvsp[-7], yyvsp[0]); }
break;
case 53:
  if (!yytrial)
{ yyval = make_node (nod_revoke, (int) e_grant_count,
					yyvsp[-6], yyvsp[-3], make_list(yyvsp[-1]), yyvsp[-7], yyvsp[0]); }
break;
case 54:
  if (!yytrial)
{ yyval = make_node (nod_revoke, (int) e_grant_count,
					make_list(yyvsp[-3]), make_list(yyvsp[-1]), NULL, yyvsp[-4], yyvsp[0]); }
break;
case 55:
  if (!yytrial)
{ yyval = make_node (nod_revoke, (int) e_grant_count,
					NULL, NULL, make_list(yyvsp[0]), NULL, NULL); }
break;
case 56:
  if (!yytrial)
{ yyval = make_node (nod_grant, (int) 0, NULL); }
break;
case 57:
  if (!yytrial)
{ yyval = NULL; }
break;
case 58:
  if (!yytrial)
{ yyval = make_node (nod_grant_admin, (int) 0, NULL); }
break;
case 59:
  if (!yytrial)
{ yyval = NULL; }
break;
case 63:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 64:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 65:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 66:
  if (!yytrial)
{ yyval = make_node (nod_proc_obj, (int) 1, yyvsp[0]); }
break;
case 67:
  if (!yytrial)
{ yyval = make_node (nod_trig_obj, (int) 1, yyvsp[0]); }
break;
case 68:
  if (!yytrial)
{ yyval = make_node (nod_view_obj, (int) 1, yyvsp[0]); }
break;
case 69:
  if (!yytrial)
{ yyval = make_node (nod_role_name, (int) 1, yyvsp[0]); }
break;
case 71:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 72:
  if (!yytrial)
{ yyval = make_node (nod_user_name, (int) 1, yyvsp[0]); }
break;
case 73:
  if (!yytrial)
{ yyval = make_node (nod_user_name, (int) 2, yyvsp[0], NULL); }
break;
case 74:
  if (!yytrial)
{ yyval = make_node (nod_user_group, (int) 1, yyvsp[0]); }
break;
case 76:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 77:
  if (!yytrial)
{ yyval = make_node (nod_role_name, (int) 1, yyvsp[0]); }
break;
case 79:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 80:
  if (!yytrial)
{ yyval = make_node (nod_user_name, (int) 1, yyvsp[0]); }
break;
case 81:
  if (!yytrial)
{ yyval = make_node (nod_user_name, (int) 1, yyvsp[0]); }
break;
case 82:
  if (!yytrial)
{ yyval = yyvsp[0];}
break;
case 83:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 84:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 85:
  if (!yytrial)
{ yyval = make_node (nod_def_udf, (int) e_udf_count,
				yyvsp[-7], yyvsp[-2], yyvsp[0], make_list (yyvsp[-6]), yyvsp[-4]); }
break;
case 87:
  if (!yytrial)
{ lex.g_field->fld_dtype = dtype_blob; }
break;
case 88:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_cstring;
			lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-2]; }
break;
case 89:
  if (!yytrial)
{ yyval = NULL; }
break;
case 91:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 93:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 94:
  if (!yytrial)
{ yyval = make_node (nod_udf_param, (int) e_udf_param_count,
							  yyvsp[-2], yyvsp[0]); }
break;
case 95:
  if (!yytrial)
{ yyval = NULL; }
break;
case 96:
  if (!yytrial)
{ yyval = MAKE_const_slong (FUN_descriptor); }
break;
case 97:
  if (!yytrial)
{ yyval = MAKE_const_slong (FUN_scalar_array); }
break;
case 98:
  if (!yytrial)
{ yyval = MAKE_const_slong (FUN_ref_with_null); }
break;
case 100:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 101:
  if (!yytrial)
{ yyval = make_node (nod_udf_return_value, (int) e_udf_param_count,
							  yyvsp[-2], yyvsp[0]); }
break;
case 102:
  if (!yytrial)
{ yyval = make_node (nod_udf_return_value, (int) e_udf_param_count,
				NULL, MAKE_const_slong ((IPTR) yyvsp[0]));}
break;
case 103:
  if (!yytrial)
{ yyval = MAKE_const_slong (FUN_reference); }
break;
case 104:
  if (!yytrial)
{ yyval = MAKE_const_slong (FUN_value); }
break;
case 105:
  if (!yytrial)
{ yyval = MAKE_const_slong (FUN_descriptor); }
break;
case 106:
  if (!yytrial)
{ yyval = MAKE_const_slong (-1 * FUN_reference); }
break;
case 107:
  if (!yytrial)
{ yyval = MAKE_const_slong (-1 * FUN_descriptor); }
break;
case 108:
  if (!yytrial)
{ yyval = make_node (nod_def_filter, (int) e_filter_count,
						yyvsp[-8], yyvsp[-6], yyvsp[-4], yyvsp[-2], yyvsp[0]); }
break;
case 109:
  if (!yytrial)
{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_STRING); }
break;
case 110:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[0]); }
break;
case 111:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 112:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 113:
  if (!yytrial)
{ yyval = make_node (nod_def_index, (int) e_idx_count,
					yyvsp[-6], yyvsp[-5], yyvsp[-3], yyvsp[-1], yyvsp[0]); }
break;
case 114:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 115:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 116:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 117:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 118:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 119:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 120:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 121:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 122:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 123:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 124:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 125:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 126:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 127:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 128:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 129:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 130:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 131:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 132:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 133:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 134:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 135:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 136:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 137:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 138:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 139:
  if (!yytrial)
{ yyval = make_node (nod_def_exception, (int) e_xcp_count,
						yyvsp[-1], yyvsp[0]); }
break;
case 140:
  if (!yytrial)
{ yyval = make_node (nod_redef_exception, (int) e_xcp_count,
						yyvsp[-1], yyvsp[0]); }
break;
case 141:
  if (!yytrial)
{ yyval = make_node (nod_replace_exception, (int) e_xcp_count,
						yyvsp[-1], yyvsp[0]); }
break;
case 142:
  if (!yytrial)
{ yyval = make_node (nod_mod_exception, (int) e_xcp_count,
						yyvsp[-1], yyvsp[0]); }
break;
case 143:
  if (!yytrial)
{ yyval = make_node (nod_unique, 0, NULL); }
break;
case 144:
  if (!yytrial)
{ yyval = NULL; }
break;
case 145:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 147:
  if (!yytrial)
{ yyval = make_node (nod_def_computed, 2, yyvsp[-2], yyvsp[-1]); }
break;
case 148:
  if (!yytrial)
{ yyval = make_node (nod_def_shadow, (int) e_shadow_count,
				 yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], make_list (yyvsp[0])); }
break;
case 149:
  if (!yytrial)
{ yyval = MAKE_const_slong (1); }
break;
case 150:
  if (!yytrial)
{ yyval = MAKE_const_slong (0); }
break;
case 151:
  if (!yytrial)
{ yyval = MAKE_const_slong (0); }
break;
case 152:
  if (!yytrial)
{ yyval = MAKE_const_slong (0); }
break;
case 153:
  if (!yytrial)
{ yyval = MAKE_const_slong (1); }
break;
case 154:
  if (!yytrial)
{ yyval = (dsql_nod*) 0;}
break;
case 155:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 156:
  if (!yytrial)
{ yyval = NULL; }
break;
case 159:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); }
break;
case 160:
  if (!yytrial)
{ yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[-5], yyvsp[-2], make_list (yyvsp[-1]), yyvsp[0]); }
break;
case 161:
  if (!yytrial)
{ yyval = NULL; }
break;
case 162:
  if (!yytrial)
{ yyval = NULL; }
break;
case 163:
  if (!yytrial)
{ yyval = make_node (nod_def_default, (int) e_dft_count, yyvsp[-1], yyvsp[0]); }
break;
case 165:
  if (!yytrial)
{ yyval = NULL; }
break;
case 167:
  if (!yytrial)
{ yyval = NULL; }
break;
case 169:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); }
break;
case 170:
  if (!yytrial)
{ yyval = make_node (nod_rel_constraint, (int) 2, NULL, yyvsp[0]);}
break;
case 173:
  if (!yytrial)
{ yyval = make_node (nod_null, (int) 0, NULL); }
break;
case 174:
  if (!yytrial)
{ yyval = make_node (nod_def_constraint, (int) e_cnstr_count,
					NULL, NULL, yyvsp[-2], NULL, yyvsp[0]); }
break;
case 175:
  if (!yytrial)
{ yyval = make_node (nod_def_generator, (int) e_gen_count, yyvsp[0]); }
break;
case 176:
  if (!yytrial)
{ yyval = make_node (nod_def_role, (int) 1, yyvsp[0]); }
break;
case 177:
  if (!yytrial)
{ yyval = make_node (nod_def_collation,
						(int) e_def_coll_count, yyvsp[-5], yyvsp[-3], yyvsp[-2], make_list(yyvsp[-1]), yyvsp[0]); }
break;
case 178:
  if (!yytrial)
{ yyval = make_node(nod_collation_from, 1, yyvsp[0]); }
break;
case 179:
  if (!yytrial)
{ yyval = make_node(nod_collation_from_external, 1, yyvsp[-1]); }
break;
case 180:
  if (!yytrial)
{ yyval = NULL; }
break;
case 181:
  if (!yytrial)
{ yyval = NULL; }
break;
case 184:
  if (!yytrial)
{ yyval = make_node(nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 188:
  if (!yytrial)
{ yyval = make_node(nod_collation_attr, 1, -TEXTTYPE_ATTR_PAD_SPACE); }
break;
case 189:
  if (!yytrial)
{ yyval = make_node(nod_collation_attr, 1, TEXTTYPE_ATTR_PAD_SPACE); }
break;
case 190:
  if (!yytrial)
{ yyval = make_node(nod_collation_attr, 1, -TEXTTYPE_ATTR_CASE_INSENSITIVE); }
break;
case 191:
  if (!yytrial)
{ yyval = make_node(nod_collation_attr, 1, TEXTTYPE_ATTR_CASE_INSENSITIVE); }
break;
case 192:
  if (!yytrial)
{ yyval = make_node(nod_collation_attr, 1, -TEXTTYPE_ATTR_ACCENT_INSENSITIVE); }
break;
case 193:
  if (!yytrial)
{ yyval = make_node(nod_collation_attr, 1, TEXTTYPE_ATTR_ACCENT_INSENSITIVE); }
break;
case 194:
  if (!yytrial)
{ yyval = NULL; }
break;
case 195:
  if (!yytrial)
{ yyval = make_node(nod_collation_specific_attr, 1,
				MAKE_constant((dsql_str*)yyvsp[0], CONSTANT_STRING)); }
break;
case 196:
  if (!yytrial)
{
			yyval = makeClassNode(FB_NEW(getPool())
					AlterCharSetNode(getPool(), toName(yyvsp[-4]), toName(yyvsp[0])));
		}
break;
case 197:
  if (!yytrial)
{ yyval = make_node (nod_def_database, (int) e_cdb_count,
				 yyvsp[-2], make_list(yyvsp[-1]), make_list (yyvsp[0]));}
break;
case 200:
  if (!yytrial)
{ yyval = (dsql_nod*) yyvsp[0]; }
break;
case 201:
  if (!yytrial)
{yyval = NULL;}
break;
case 204:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 205:
  if (!yytrial)
{ yyval = make_node (nod_page_size, 1, yyvsp[0]);}
break;
case 206:
  if (!yytrial)
{ yyval = make_node (nod_file_length, 1, yyvsp[-1]);}
break;
case 207:
  if (!yytrial)
{ yyval = make_node (nod_user_name, 1, yyvsp[0]);}
break;
case 208:
  if (!yytrial)
{ yyval = make_node (nod_password, 1, yyvsp[0]);}
break;
case 209:
  if (!yytrial)
{ yyval = make_node (nod_lc_ctype, 1, yyvsp[0]);}
break;
case 210:
  if (!yytrial)
{yyval = NULL;}
break;
case 213:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 215:
  if (!yytrial)
{ yyval = make_node (nod_dfl_charset, 1, yyvsp[0]);}
break;
case 216:
  if (!yytrial)
{ yyval = make_node (nod_list, 2,
				make_node (nod_dfl_charset, 1, yyvsp[-2]),
				make_node (nod_dfl_collate, 1, yyvsp[0]));
			}
break;
case 217:
  if (!yytrial)
{ yyval = make_node (nod_difference_file, 1, yyvsp[0]); }
break;
case 218:
  if (!yytrial)
{ lex.g_file->fil_name = (dsql_str*) yyvsp[-1];
			  yyval = (dsql_nod*) make_node (nod_file_desc, (int) 1,
						(dsql_nod*) lex.g_file); }
break;
case 219:
  if (!yytrial)
{ lex.g_file  = make_file();}
break;
case 224:
  if (!yytrial)
{ lex.g_file->fil_start = (IPTR) yyvsp[0];}
break;
case 225:
  if (!yytrial)
{ lex.g_file->fil_length = (IPTR) yyvsp[-1];}
break;
case 232:
  if (!yytrial)
{ yyval = make_flag_node (nod_def_relation, NOD_PERMANENT_TABLE,
				(int) e_drl_count, yyvsp[-4], make_list (yyvsp[-1]), yyvsp[-3]); }
break;
case 233:
  if (!yytrial)
{ yyval = make_flag_node (nod_redef_relation, NOD_PERMANENT_TABLE,
				(int) e_drl_count, yyvsp[-4], make_list (yyvsp[-1]), yyvsp[-3]); }
break;
case 234:
  if (!yytrial)
{ yyval = make_flag_node (nod_def_relation, (SSHORT) (IPTR) (yyvsp[0]),
				(int) e_drl_count, yyvsp[-4], make_list (yyvsp[-2]), NULL); }
break;
case 235:
  if (!yytrial)
{ yyval = make_flag_node (nod_redef_relation, (SSHORT) (IPTR) (yyvsp[0]),
				(int) e_drl_count, yyvsp[-4], make_list (yyvsp[-2]), NULL); }
break;
case 236:
  if (!yytrial)
{ yyval = (dsql_nod*) NOD_GLOBAL_TEMP_TABLE_PRESERVE_ROWS; }
break;
case 237:
  if (!yytrial)
{ yyval = (dsql_nod*) NOD_GLOBAL_TEMP_TABLE_DELETE_ROWS; }
break;
case 238:
  if (!yytrial)
{ yyval = (dsql_nod*) NOD_GLOBAL_TEMP_TABLE_DELETE_ROWS; }
break;
case 239:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 240:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 241:
  if (!yytrial)
{ yyval = NULL; }
break;
case 243:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 246:
  if (!yytrial)
{ yyval = make_node (nod_def_field, (int) e_dfl_count,
					yyvsp[-4], yyvsp[-2], make_list (yyvsp[-1]), yyvsp[0], yyvsp[-3], NULL); }
break;
case 247:
  if (!yytrial)
{ yyval = make_node (nod_def_field, (int) e_dfl_count,
					yyvsp[-2], NULL, NULL, NULL, NULL, yyvsp[0]); }
break;
case 248:
  if (!yytrial)
{ yyval = make_node (nod_def_field, (int) e_dfl_count,
					yyvsp[-1], NULL, NULL, NULL, NULL, yyvsp[0]); }
break;
case 249:
  if (!yytrial)
{
				lex.g_field->fld_flags |= FLD_computed;
				yyval = make_node (nod_def_computed, 2, yyvsp[-2], yyvsp[-1]);
			}
break;
case 254:
  if (!yytrial)
{ yyval = NULL; }
break;
case 255:
  if (!yytrial)
{ yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[0], NULL, NULL, NULL); }
break;
case 256:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 257:
  if (!yytrial)
{ yyval = NULL; }
break;
case 258:
  if (!yytrial)
{
				lex.g_field_name = yyvsp[0];
				lex.g_field = make_field (yyvsp[0]);
				yyval = (dsql_nod*) lex.g_field;
			}
break;
case 259:
  if (!yytrial)
{
				lex.g_field = make_field (yyvsp[0]);
				yyval = (dsql_nod*) lex.g_field;
			}
break;
case 260:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 261:
  if (!yytrial)
{
				((dsql_fld*) yyvsp[0])->fld_type_of_name = ((dsql_fld*) yyvsp[0])->fld_name;
				yyval = yyvsp[0];
			}
break;
case 262:
  if (!yytrial)
{
				lex.g_field = make_field(NULL);
				lex.g_field->fld_type_of_table = ((dsql_str*) yyvsp[-2])->str_data;
				lex.g_field->fld_type_of_name = ((dsql_str*) yyvsp[0])->str_data;
				yyval = (dsql_nod*) lex.g_field;
			}
break;
case 263:
  if (!yytrial)
{
				((dsql_fld*) yyvsp[0])->fld_type_of_name = ((dsql_fld*) yyvsp[0])->fld_name;
				((dsql_fld*) yyvsp[0])->fld_full_domain = true;
				yyval = yyvsp[0];
			}
break;
case 264:
  if (!yytrial)
{ lex.g_field = make_field (NULL);
			  yyval = (dsql_nod*) lex.g_field; }
break;
case 271:
  if (!yytrial)
{ yyval = NULL; }
break;
case 274:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); }
break;
case 275:
  if (!yytrial)
{ yyval = make_node (nod_rel_constraint, (int) 2, yyvsp[-1], yyvsp[0]);}
break;
case 278:
  if (!yytrial)
{ yyval = make_node (nod_foreign, (int) e_for_count,
						make_node (nod_list, (int) 1, lex.g_field_name), yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 279:
  if (!yytrial)
{ yyval = make_node (nod_unique, 2, NULL, yyvsp[0]); }
break;
case 280:
  if (!yytrial)
{ yyval = make_node (nod_primary, (int) e_pri_count, NULL, yyvsp[0]); }
break;
case 281:
  if (!yytrial)
{ yyval = make_node (nod_rel_constraint, (int) 2, yyvsp[-1], yyvsp[0]);}
break;
case 282:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 283:
  if (!yytrial)
{ yyval = NULL; }
break;
case 288:
  if (!yytrial)
{ yyval = make_node (nod_unique, 2, yyvsp[-1], yyvsp[0]); }
break;
case 289:
  if (!yytrial)
{ yyval = make_node (nod_primary, (int) e_pri_count, yyvsp[-1], yyvsp[0]); }
break;
case 290:
  if (!yytrial)
{ yyval = make_node (nod_foreign, (int) e_for_count, yyvsp[-5], yyvsp[-3],
					 yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 291:
  if (!yytrial)
{ yyval = make_node (nod_def_index, (int) e_idx_count,
					NULL, yyvsp[-2], yyvsp[0], NULL, NULL); }
break;
case 292:
  if (!yytrial)
{ yyval = make_node (nod_def_index, (int) e_idx_count,
					NULL, NULL, NULL, NULL, NULL); }
break;
case 293:
  if (!yytrial)
{ yyval = make_node (nod_ref_upd_del, (int) e_ref_upd_del_count, yyvsp[0], NULL);}
break;
case 294:
  if (!yytrial)
{ yyval = make_node (nod_ref_upd_del, (int) e_ref_upd_del_count, NULL, yyvsp[0]);}
break;
case 295:
  if (!yytrial)
{ yyval = make_node (nod_ref_upd_del, (int) e_ref_upd_del_count, yyvsp[0], yyvsp[-1]); }
break;
case 296:
  if (!yytrial)
{ yyval = make_node (nod_ref_upd_del, (int) e_ref_upd_del_count, yyvsp[-1], yyvsp[0]);}
break;
case 297:
  if (!yytrial)
{ yyval = NULL;}
break;
case 298:
  if (!yytrial)
{ yyval = yyvsp[0];}
break;
case 299:
  if (!yytrial)
{ yyval = yyvsp[0];}
break;
case 300:
  if (!yytrial)
{ yyval = make_flag_node (nod_ref_trig_action,
			 REF_ACTION_CASCADE, (int) e_ref_trig_action_count, NULL);}
break;
case 301:
  if (!yytrial)
{ yyval = make_flag_node (nod_ref_trig_action,
			 REF_ACTION_SET_DEFAULT, (int) e_ref_trig_action_count, NULL);}
break;
case 302:
  if (!yytrial)
{ yyval = make_flag_node (nod_ref_trig_action,
			 REF_ACTION_SET_NULL, (int) e_ref_trig_action_count, NULL);}
break;
case 303:
  if (!yytrial)
{ yyval = make_flag_node (nod_ref_trig_action,
			 REF_ACTION_NONE, (int) e_ref_trig_action_count, NULL);}
break;
case 304:
  if (!yytrial)
{ yyval = make_node (nod_def_procedure,
						(int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 305:
  if (!yytrial)
{ yyval = make_node (nod_redef_procedure,
						(int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 306:
  if (!yytrial)
{ yyval = make_node (nod_replace_procedure,
						(int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 307:
  if (!yytrial)
{ yyval = make_node (nod_mod_procedure,
						(int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 308:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 309:
  if (!yytrial)
{ yyval = NULL; }
break;
case 310:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 311:
  if (!yytrial)
{ yyval = NULL; }
break;
case 313:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 314:
  if (!yytrial)
{ yyval = make_node (nod_def_field, (int) e_dfl_count,
				yyvsp[-3], yyvsp[0], NULL, yyvsp[-1], NULL, NULL); }
break;
case 316:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 317:
  if (!yytrial)
{ yyval = make_node (nod_def_field, (int) e_dfl_count,
				yyvsp[-2], NULL, NULL, yyvsp[0], NULL, NULL); }
break;
case 318:
  if (!yytrial)
{ yyval = make_node (nod_def_default, (int) e_dft_count, yyvsp[-1], yyvsp[0]); }
break;
case 319:
  if (!yytrial)
{ yyval = make_node (nod_def_default, (int) e_dft_count, yyvsp[-1], yyvsp[0]); }
break;
case 320:
  if (!yytrial)
{ yyval = NULL; }
break;
case 321:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 322:
  if (!yytrial)
{ yyval = NULL; }
break;
case 324:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 325:
  if (!yytrial)
{
				yyval = yyvsp[-1];
				yyval->nod_line = (IPTR) yyvsp[-5];
				yyval->nod_column = (IPTR) yyvsp[-4];
			}
break;
case 328:
  if (!yytrial)
{ yyval = make_node (nod_def_field, (int) e_dfl_count,
				yyvsp[-3], yyvsp[0], NULL, yyvsp[-1], NULL, NULL); }
break;
case 329:
  if (!yytrial)
{ yyval = NULL; }
break;
case 330:
  if (!yytrial)
{ yyval = NULL; }
break;
case 331:
  if (!yytrial)
{ yyval = make_flag_node (nod_cursor, NOD_CURSOR_EXPLICIT,
				(int) e_cur_count, yyvsp[-5], yyvsp[-1], NULL, NULL); }
break;
case 334:
  if (!yytrial)
{
				yyval = make_node (nod_src_info, e_src_info_count, yyvsp[-4], yyvsp[-3], yyvsp[-1]);
			}
break;
case 335:
  if (!yytrial)
{ yyval = make_node (nod_block, (int) e_blk_count, make_list (yyvsp[0]), NULL); }
break;
case 336:
  if (!yytrial)
{ yyval = make_node (nod_block, (int) e_blk_count, make_list (yyvsp[-1]), make_list (yyvsp[0])); }
break;
case 337:
  if (!yytrial)
{ yyval = make_node (nod_block, (int) e_blk_count, NULL, NULL);}
break;
case 339:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 340:
  if (!yytrial)
{
				yyval = make_node (nod_src_info, e_src_info_count, yyvsp[-3], yyvsp[-2], yyvsp[-1]);
			}
break;
case 341:
  if (!yytrial)
{
				yyval = make_node (nod_src_info, e_src_info_count, yyvsp[-2], yyvsp[-1], yyvsp[0]);
			}
break;
case 342:
  if (!yytrial)
{ yyval = (dsql_nod*) (IPTR) lex.lines_bk; }
break;
case 343:
  if (!yytrial)
{
			const USHORT column = (lex.last_token_bk - lex.line_start_bk + 1);
			yyval = (dsql_nod*) (IPTR) column;
		}
break;
case 360:
  if (!yytrial)
{ yyval = make_node (nod_return, (int) e_rtn_count, NULL); }
break;
case 361:
  if (!yytrial)
{ yyval = make_node (nod_exit, 0, NULL); }
break;
case 367:
  if (!yytrial)
{
			InAutonomousTransactionNode* node = FB_NEW(getPool())
				InAutonomousTransactionNode(getPool());
			node->dsqlAction = yyvsp[0];
			yyval = makeClassNode(node);
		}
break;
case 368:
  if (!yytrial)
{ yyval = make_node (nod_exception_stmt, (int) e_xcp_count, yyvsp[0], NULL); }
break;
case 369:
  if (!yytrial)
{ yyval = make_node (nod_exception_stmt, (int) e_xcp_count, yyvsp[-1], yyvsp[0]); }
break;
case 370:
  if (!yytrial)
{ yyval = make_node (nod_exception_stmt, (int) e_xcp_count, NULL, NULL); }
break;
case 371:
  if (!yytrial)
{ yyval = make_node (nod_for_select, (int) e_flp_count, yyvsp[-5],
					  make_list (yyvsp[-3]), yyvsp[-2], yyvsp[0], yyvsp[-7]); }
break;
case 372:
  if (!yytrial)
{
			yyval = make_node (nod_exec_stmt, int (e_exec_stmt_count),
					(yyvsp[-1])->nod_arg[0], (yyvsp[-1])->nod_arg[1], NULL, NULL, NULL, make_list(yyvsp[0]), NULL, NULL, NULL, NULL, NULL, NULL);
		}
break;
case 373:
  if (!yytrial)
{
			yyval = make_node (nod_exec_stmt, int (e_exec_stmt_count),
					(yyvsp[-3])->nod_arg[0], (yyvsp[-3])->nod_arg[1], make_list(yyvsp[0]), NULL, NULL, make_list(yyvsp[-2]), NULL, NULL, NULL, NULL, NULL, NULL);
		}
break;
case 374:
  if (!yytrial)
{
			yyval = make_node (nod_exec_stmt, int (e_exec_stmt_count),
					(yyvsp[-5])->nod_arg[0], (yyvsp[-5])->nod_arg[1], make_list(yyvsp[-2]), yyvsp[0], yyvsp[-9], make_list(yyvsp[-4]), NULL, NULL, NULL, NULL, NULL, NULL);
		}
break;
case 375:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_inputs, e_exec_stmt_inputs_count, yyvsp[0], NULL); }
break;
case 376:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_inputs, e_exec_stmt_inputs_count, yyvsp[-4], make_list (yyvsp[-1])); }
break;
case 377:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_inputs, e_exec_stmt_inputs_count, yyvsp[-4], make_list (yyvsp[-1])); }
break;
case 379:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 380:
  if (!yytrial)
{ yyval = make_node (nod_named_param, e_named_param_count, yyvsp[-2], yyvsp[0]); }
break;
case 382:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 383:
  if (!yytrial)
{ yyval = make_node (nod_named_param, e_named_param_count, NULL, yyvsp[0]); }
break;
case 385:
  if (!yytrial)
{ yyval = NULL; }
break;
case 386:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 394:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_datasrc, 1, yyvsp[0]); }
break;
case 395:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_datasrc, 1, yyvsp[0]); }
break;
case 396:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_user, 1, yyvsp[0]); }
break;
case 397:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_pwd, 1, yyvsp[0]); }
break;
case 398:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_role, 1, yyvsp[0]); }
break;
case 399:
  if (!yytrial)
{ yyval = make_flag_node(nod_tran_params, NOD_TRAN_AUTONOMOUS, 1, NULL); }
break;
case 400:
  if (!yytrial)
{ yyval = make_flag_node(nod_tran_params, NOD_TRAN_COMMON, 1, NULL); }
break;
case 401:
  if (!yytrial)
{ yyval = make_node (nod_exec_stmt_privs, 1, NULL); }
break;
case 402:
  if (!yytrial)
{ yyval = make_node (nod_if, (int) e_if_count, yyvsp[-5], yyvsp[-2], yyvsp[0]); }
break;
case 403:
  if (!yytrial)
{ yyval = make_node (nod_if, (int) e_if_count, yyvsp[-3], yyvsp[0], NULL); }
break;
case 404:
  if (!yytrial)
{ yyval = make_node (nod_post, (int) e_pst_count, yyvsp[-1], yyvsp[0]); }
break;
case 405:
  if (!yytrial)
{ yyval = NULL; }
break;
case 406:
  if (!yytrial)
{ yyval = make_node (nod_for_select, (int) e_flp_count, yyvsp[-2],
					  make_list (yyvsp[0]), NULL, NULL, NULL); }
break;
case 407:
  if (!yytrial)
{ yyval = make_node (nod_var_name, (int) e_vrn_count,
							yyvsp[0]); }
break;
case 410:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 411:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 412:
  if (!yytrial)
{ yyval = make_node (nod_while, (int) e_while_count, yyvsp[-3], yyvsp[0], yyvsp[-6]); }
break;
case 413:
  if (!yytrial)
{ yyval = make_node (nod_label, (int) e_label_count, yyvsp[-1], NULL); }
break;
case 414:
  if (!yytrial)
{ yyval = NULL; }
break;
case 415:
  if (!yytrial)
{ yyval = make_node (nod_breakleave, (int) e_breakleave_count, NULL); }
break;
case 416:
  if (!yytrial)
{ yyval = make_node (nod_breakleave, (int) e_breakleave_count, NULL); }
break;
case 417:
  if (!yytrial)
{ yyval = make_node (nod_breakleave, (int) e_breakleave_count,
				make_node (nod_label, (int) e_label_count, yyvsp[0], NULL)); }
break;
case 418:
  if (!yytrial)
{ yyval = make_flag_node (nod_cursor, NOD_CURSOR_FOR,
				(int) e_cur_count, yyvsp[0], NULL, NULL, NULL); }
break;
case 419:
  if (!yytrial)
{ yyval = NULL; }
break;
case 421:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 422:
  if (!yytrial)
{ yyval = make_node (nod_on_error, (int) e_err_count,
					make_list (yyvsp[-2]), yyvsp[0]); }
break;
case 424:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 425:
  if (!yytrial)
{ yyval = make_node (nod_sqlcode, 1, yyvsp[0]); }
break;
case 426:
  if (!yytrial)
{ yyval = make_node (nod_gdscode, 1, yyvsp[0]); }
break;
case 427:
  if (!yytrial)
{ yyval = make_node (nod_exception, 1, yyvsp[0]); }
break;
case 428:
  if (!yytrial)
{ yyval = make_node (nod_default, 1, NULL); }
break;
case 432:
  if (!yytrial)
{ yyval = make_node (nod_cursor_open, (int) e_cur_stmt_count, yyvsp[0], NULL, NULL); }
break;
case 433:
  if (!yytrial)
{ yyval = make_node (nod_cursor_close, (int) e_cur_stmt_count, yyvsp[0], NULL, NULL); }
break;
case 434:
  if (!yytrial)
{ yyval = make_node (nod_cursor_fetch, (int) e_cur_stmt_count, yyvsp[-2], yyvsp[-3], make_list (yyvsp[0])); }
break;
case 435:
  if (!yytrial)
{ yyval = NULL; }
break;
case 436:
  if (!yytrial)
{ yyval = make_node (nod_exec_procedure, (int) e_exe_count,
					yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 437:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 438:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 439:
  if (!yytrial)
{ yyval = NULL; }
break;
case 440:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 441:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 442:
  if (!yytrial)
{ yyval = NULL; }
break;
case 443:
  if (!yytrial)
{ yyval = make_node (nod_exec_block,
						  (int) e_exe_blk_count,
					          yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], make_node (nod_all, (int) 0, NULL)); }
break;
case 444:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 445:
  if (!yytrial)
{ yyval = NULL; }
break;
case 447:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 448:
  if (!yytrial)
{ yyval = make_node (nod_param_val, e_prm_val_count, yyvsp[-2], yyvsp[0]); }
break;
case 449:
  if (!yytrial)
{ yyval = make_node (nod_def_view, (int) e_view_count,
					  yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 450:
  if (!yytrial)
{ yyval = make_node (nod_redef_view, (int) e_view_count,
					  yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 451:
  if (!yytrial)
{ yyval = make_node (nod_replace_view, (int) e_view_count,
					  yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 452:
  if (!yytrial)
{ yyval = make_node (nod_mod_view, (int) e_view_count,
					  yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 453:
  if (!yytrial)
{ lex.beginnings.push(lex_position()); }
break;
case 454:
  if (!yytrial)
{ lex.beginnings.push(lex.last_token); }
break;
case 455:
  if (!yytrial)
{
				const TEXT* start = lex.beginnings.pop();
				string str;
				transformString(start, lex_position() - start, str);
				yyval = (dsql_nod*) MAKE_string(str.c_str(), str.length());
			}
break;
case 456:
  if (!yytrial)
{
				const TEXT* start = lex.beginnings.pop();
				yyval = (dsql_nod*) MAKE_string(start,
					(yychar <= 0 ? lex_position() : lex.last_token) - start);
			}
break;
case 457:
  if (!yytrial)
{ yyval = make_node (nod_def_constraint, (int) e_cnstr_count,
					NULL, NULL, NULL, NULL, NULL); }
break;
case 458:
  if (!yytrial)
{ yyval = 0; }
break;
case 459:
  if (!yytrial)
{
			yyval = make_node (nod_def_trigger, (int) e_trg_count,
				yyvsp[-5], NULL, yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]);
		}
break;
case 460:
  if (!yytrial)
{
			yyval = make_node (nod_def_trigger, (int) e_trg_count,
				yyvsp[-7], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]);
		}
break;
case 461:
  if (!yytrial)
{
			yyval = make_node (nod_def_trigger, (int) e_trg_count,
				yyvsp[-7], yyvsp[-2], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-1], yyvsp[0]);
		}
break;
case 462:
  if (!yytrial)
{
			yyval = make_node (nod_redef_trigger, (int) e_trg_count,
				yyvsp[-5], NULL, yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]);
		}
break;
case 463:
  if (!yytrial)
{
			yyval = make_node (nod_redef_trigger, (int) e_trg_count,
				yyvsp[-7], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]);
		}
break;
case 464:
  if (!yytrial)
{
			yyval = make_node (nod_redef_trigger, (int) e_trg_count,
				yyvsp[-7], yyvsp[-2], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-1], yyvsp[0]);
		}
break;
case 465:
  if (!yytrial)
{
			yyval = make_node (nod_replace_trigger, (int) e_trg_count,
				yyvsp[-5], NULL, yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]);
		}
break;
case 466:
  if (!yytrial)
{
			yyval = make_node (nod_replace_trigger, (int) e_trg_count,
				yyvsp[-7], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]);
		}
break;
case 467:
  if (!yytrial)
{
			yyval = make_node (nod_replace_trigger, (int) e_trg_count,
				yyvsp[-7], yyvsp[-2], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-1], yyvsp[0]);
		}
break;
case 468:
  if (!yytrial)
{ yyval = MAKE_const_slong (0); }
break;
case 469:
  if (!yytrial)
{ yyval = MAKE_const_slong (1); }
break;
case 470:
  if (!yytrial)
{ yyval = NULL; }
break;
case 471:
  if (!yytrial)
{ yyval = MAKE_trigger_type (yyvsp[-1], yyvsp[0]); }
break;
case 472:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 473:
  if (!yytrial)
{ yyval = MAKE_const_slong (TRIGGER_TYPE_DB | DB_TRIGGER_CONNECT); }
break;
case 474:
  if (!yytrial)
{ yyval = MAKE_const_slong (TRIGGER_TYPE_DB | DB_TRIGGER_DISCONNECT); }
break;
case 475:
  if (!yytrial)
{ yyval = MAKE_const_slong (TRIGGER_TYPE_DB | DB_TRIGGER_TRANS_START); }
break;
case 476:
  if (!yytrial)
{ yyval = MAKE_const_slong (TRIGGER_TYPE_DB | DB_TRIGGER_TRANS_COMMIT); }
break;
case 477:
  if (!yytrial)
{ yyval = MAKE_const_slong (TRIGGER_TYPE_DB | DB_TRIGGER_TRANS_ROLLBACK); }
break;
case 478:
  if (!yytrial)
{ yyval = MAKE_const_slong (0); }
break;
case 479:
  if (!yytrial)
{ yyval = MAKE_const_slong (1); }
break;
case 480:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (1, 0, 0)); }
break;
case 481:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (2, 0, 0)); }
break;
case 482:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (3, 0, 0)); }
break;
case 483:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (1, 2, 0)); }
break;
case 484:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (1, 3, 0)); }
break;
case 485:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (2, 1, 0)); }
break;
case 486:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (2, 3, 0)); }
break;
case 487:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (3, 1, 0)); }
break;
case 488:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (3, 2, 0)); }
break;
case 489:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (1, 2, 3)); }
break;
case 490:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (1, 3, 2)); }
break;
case 491:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (2, 1, 3)); }
break;
case 492:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (2, 3, 1)); }
break;
case 493:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (3, 1, 2)); }
break;
case 494:
  if (!yytrial)
{ yyval = MAKE_const_slong (trigger_type_suffix (3, 2, 1)); }
break;
case 495:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[0]); }
break;
case 496:
  if (!yytrial)
{ yyval = NULL; }
break;
case 497:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) e_trg_act_count, yyvsp[-1], yyvsp[0]); }
break;
case 498:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 499:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 500:
  if (!yytrial)
{ yyval = make_node (nod_mod_relation, (int) e_alt_count,
						yyvsp[-1], make_list (yyvsp[0])); }
break;
case 501:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 502:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 503:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 504:
  if (!yytrial)
{ yyval = make_node (nod_mod_database, (int) e_adb_count,
				make_list (yyvsp[0])); }
break;
case 505:
  if (!yytrial)
{ yyval = make_node (nod_mod_domain, (int) e_alt_count,
										  yyvsp[-1], make_list (yyvsp[0])); }
break;
case 506:
  if (!yytrial)
{ yyval = make_node (nod_mod_index, (int) e_mod_idx_count, yyvsp[0]); }
break;
case 507:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 508:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 509:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 510:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 511:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 513:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 514:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 515:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 516:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 517:
  if (!yytrial)
{yyval = make_node (nod_del_default, (int) 0, NULL); }
break;
case 518:
  if (!yytrial)
{ yyval = make_node (nod_delete_rel_constraint, (int) 1, NULL); }
break;
case 519:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 520:
  if (!yytrial)
{ yyval = make_node (nod_mod_domain_type, 2, yyvsp[-1]); }
break;
case 522:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 523:
  if (!yytrial)
{ yyval = make_node (nod_del_field, 2, yyvsp[-1], yyvsp[0]); }
break;
case 524:
  if (!yytrial)
{ yyval = make_node (nod_delete_rel_constraint, (int) 1, yyvsp[0]);}
break;
case 525:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 526:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 527:
  if (!yytrial)
{ yyval = make_node(nod_mod_field_pos, 2, yyvsp[-2],
				MAKE_const_slong((IPTR) yyvsp[0])); }
break;
case 528:
  if (!yytrial)
{ yyval = make_node(nod_mod_field_name, 2, yyvsp[-2], yyvsp[0]); }
break;
case 529:
  if (!yytrial)
{ yyval = make_node(nod_mod_field_type, e_mod_fld_type_count, yyvsp[-2], yyvsp[0], NULL, NULL); }
break;
case 530:
  if (!yytrial)
{
				/* Due to parser hacks, we should not pass $4 (non_array_type) to make_node.*/
				yyval = make_node(nod_mod_field_type, e_mod_fld_type_count, yyvsp[-3], NULL, NULL, yyvsp[0]);
			}
break;
case 531:
  if (!yytrial)
{ yyval = make_node(nod_mod_field_type, e_mod_fld_type_count, yyvsp[-1], NULL, NULL, yyvsp[0]); }
break;
case 532:
  if (!yytrial)
{ yyval = make_node(nod_mod_field_type, e_mod_fld_type_count, yyvsp[-2], NULL, yyvsp[0], NULL); }
break;
case 533:
  if (!yytrial)
{ yyval = make_node(nod_mod_field_type, e_mod_fld_type_count, yyvsp[-2], NULL,
					make_node(nod_del_default, (int) 0, NULL), NULL); }
break;
case 534:
  if (!yytrial)
{ yyval = make_node (nod_field_name, (int) e_fln_count,
						NULL, yyvsp[0]); }
break;
case 585:
  if (!yytrial)
{ yyval = NULL; }
break;
case 586:
  if (!yytrial)
{ yyval = NULL; }
break;
case 587:
  if (!yytrial)
{ yyval = NULL; }
break;
case 588:
  if (!yytrial)
{ yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[0], NULL, NULL, NULL); }
break;
case 589:
  if (!yytrial)
{ lex.g_field_name = yyvsp[0];
			  lex.g_field = make_field (yyvsp[0]);
			  yyval = (dsql_nod*) lex.g_field; }
break;
case 590:
  if (!yytrial)
{ yyval = make_node (nod_restrict, 0, NULL); }
break;
case 591:
  if (!yytrial)
{ yyval = make_node (nod_cascade, 0, NULL); }
break;
case 592:
  if (!yytrial)
{ yyval = make_node (nod_restrict, 0, NULL); }
break;
case 593:
  if (!yytrial)
{ yyval = make_node (nod_idx_active, 1, yyvsp[-1]); }
break;
case 594:
  if (!yytrial)
{ yyval = make_node (nod_idx_inactive, 1, yyvsp[-1]); }
break;
case 595:
  if (!yytrial)
{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3],
				MAKE_const_slong ((IPTR) yyvsp[0])); }
break;
case 596:
  if (!yytrial)
{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3],
				MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64)); }
break;
case 597:
  if (!yytrial)
{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-4],
				make_node(nod_negate, 1, MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64))); }
break;
case 598:
  if (!yytrial)
{ yyval = make_node(nod_mod_udf, e_mod_udf_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 599:
  if (!yytrial)
{ yyval = make_node(nod_mod_role, e_mod_role_count, NULL, yyvsp[-4], yyvsp[-3]); }
break;
case 600:
  if (!yytrial)
{ yyval = MAKE_const_slong (isc_dyn_automap_role); }
break;
case 601:
  if (!yytrial)
{ yyval = MAKE_const_slong (isc_dyn_autounmap_role); }
break;
case 602:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 603:
  if (!yytrial)
{ yyval = NULL; }
break;
case 604:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 605:
  if (!yytrial)
{ yyval = NULL; }
break;
case 606:
  if (!yytrial)
{ yyval = NULL; }
break;
case 608:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); }
break;
case 609:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 610:
  if (!yytrial)
{ yyval = make_node (nod_difference_file, (int) 1, yyvsp[0]); }
break;
case 611:
  if (!yytrial)
{ yyval = make_node (nod_drop_difference, (int) 0, NULL); }
break;
case 612:
  if (!yytrial)
{ yyval = make_node (nod_begin_backup, (int) 0, NULL); }
break;
case 613:
  if (!yytrial)
{ yyval = make_node (nod_end_backup, (int) 0, NULL); }
break;
case 614:
  if (!yytrial)
{ yyval = make_node (nod_mod_trigger, (int) e_trg_count,
				yyvsp[-6], NULL, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0]); }
break;
case 616:
  if (!yytrial)
{ yyval = NULL; }
break;
case 618:
  if (!yytrial)
{ yyval = NULL; }
break;
case 619:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 620:
  if (!yytrial)
{ yyval = make_node (nod_del_exception, 1, yyvsp[0]); }
break;
case 621:
  if (!yytrial)
{ yyval = make_node (nod_del_index, (int) 1, yyvsp[0]); }
break;
case 622:
  if (!yytrial)
{ yyval = make_node (nod_del_procedure, (int) 1, yyvsp[0]); }
break;
case 623:
  if (!yytrial)
{ yyval = make_node (nod_del_relation, (int) 1, yyvsp[0]); }
break;
case 624:
  if (!yytrial)
{ yyval = make_node (nod_del_trigger, (int) 1, yyvsp[0]); }
break;
case 625:
  if (!yytrial)
{ yyval = make_node (nod_del_view, (int) 1, yyvsp[0]); }
break;
case 626:
  if (!yytrial)
{ yyval = make_node (nod_del_filter, (int) 1, yyvsp[0]); }
break;
case 627:
  if (!yytrial)
{ yyval = make_node (nod_del_domain, (int) 1, yyvsp[0]); }
break;
case 628:
  if (!yytrial)
{ yyval = make_node (nod_del_udf, (int) 1, yyvsp[0]); }
break;
case 629:
  if (!yytrial)
{ yyval = make_node (nod_del_shadow, (int) 1, yyvsp[0]); }
break;
case 630:
  if (!yytrial)
{ yyval = make_node (nod_del_role, (int) 1, yyvsp[0]); }
break;
case 631:
  if (!yytrial)
{ yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); }
break;
case 632:
  if (!yytrial)
{ yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); }
break;
case 633:
  if (!yytrial)
{ yyval = make_node (nod_del_collation, (int) 1, yyvsp[0]); }
break;
case 634:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 638:
  if (!yytrial)
{ lex.g_field->fld_not_nullable = true; }
break;
case 641:
  if (!yytrial)
{ lex.g_field->fld_type_of_name = ((dsql_str*) yyvsp[0])->str_data; }
break;
case 642:
  if (!yytrial)
{
				lex.g_field->fld_type_of_name = ((dsql_str*) yyvsp[0])->str_data;
				lex.g_field->fld_type_of_table = ((dsql_str*) yyvsp[-2])->str_data;
			}
break;
case 643:
  if (!yytrial)
{
				lex.g_field->fld_type_of_name = ((dsql_str*) yyvsp[0])->str_data;
				lex.g_field->fld_full_domain = true;
			}
break;
case 646:
  if (!yytrial)
{ lex.g_field->fld_ranges = make_list (yyvsp[-1]);
			  lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2;
			  lex.g_field->fld_element_dtype = lex.g_field->fld_dtype;
			  yyval = yyvsp[-3]; }
break;
case 647:
  if (!yytrial)
{ lex.g_field->fld_ranges = make_list (yyvsp[-2]);
			  lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2;
			  lex.g_field->fld_element_dtype = lex.g_field->fld_dtype;
			  yyval = yyvsp[-4]; }
break;
case 649:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 650:
  if (!yytrial)
{ if ((IPTR) yyvsp[0] < 1)
			 		yyval = make_node (nod_list, (int) 2,
					MAKE_const_slong ((IPTR) yyvsp[0]),
					MAKE_const_slong (1));
				  else
			 		yyval = make_node (nod_list, (int) 2,
			   		MAKE_const_slong (1),
					MAKE_const_slong ((IPTR) yyvsp[0]) ); }
break;
case 651:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2,
			 	MAKE_const_slong ((IPTR) yyvsp[-2]),
				MAKE_const_slong ((IPTR) yyvsp[0])); }
break;
case 657:
  if (!yytrial)
{
			if (client_dialect < SQL_DIALECT_V6_TRANSITION)
				ERRD_post (Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
					Arg::Gds(isc_sql_dialect_datatype_unsupport) << Arg::Num(client_dialect) <<
																	Arg::Str("BIGINT"));
			if (db_dialect < SQL_DIALECT_V6_TRANSITION)
				ERRD_post (Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
					Arg::Gds(isc_sql_db_dialect_dtype_unsupport) << Arg::Num(db_dialect) <<
																	Arg::Str("BIGINT"));
			lex.g_field->fld_dtype = dtype_int64;
			lex.g_field->fld_length = sizeof (SINT64);
			}
break;
case 658:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_long;
			lex.g_field->fld_length = sizeof (SLONG);
			}
break;
case 659:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_short;
			lex.g_field->fld_length = sizeof (SSHORT);
			}
break;
case 660:
  if (!yytrial)
{
			stmt_ambiguous = true;
			if (client_dialect <= SQL_DIALECT_V5)
				{
				/* Post warning saying that DATE is equivalent to TIMESTAMP */
				ERRD_post_warning(Arg::Warning(isc_sqlwarn) << Arg::Num(301) <<
								  Arg::Warning(isc_dtype_renamed));
				lex.g_field->fld_dtype = dtype_timestamp;
				lex.g_field->fld_length = sizeof (GDS_TIMESTAMP);
				}
			else if (client_dialect == SQL_DIALECT_V6_TRANSITION)
				yyabandon (-104, isc_transitional_date);
			else
				{
				lex.g_field->fld_dtype = dtype_sql_date;
				lex.g_field->fld_length = sizeof (ULONG);
				}
			}
break;
case 661:
  if (!yytrial)
{
			if (client_dialect < SQL_DIALECT_V6_TRANSITION)
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_dialect_datatype_unsupport) << Arg::Num(client_dialect) <<
																		  Arg::Str("TIME"));
			if (db_dialect < SQL_DIALECT_V6_TRANSITION)
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_db_dialect_dtype_unsupport) << Arg::Num(db_dialect) <<
																		  Arg::Str("TIME"));
			lex.g_field->fld_dtype = dtype_sql_time;
			lex.g_field->fld_length = sizeof (SLONG);
			}
break;
case 662:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_timestamp;
			lex.g_field->fld_length = sizeof (GDS_TIMESTAMP);
			}
break;
case 665:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_blob;
			lex.g_field->fld_length = sizeof(ISC_QUAD);
			}
break;
case 666:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_blob;
			lex.g_field->fld_length = sizeof(ISC_QUAD);
			lex.g_field->fld_seg_length = (USHORT)(IPTR) yyvsp[-1];
			lex.g_field->fld_sub_type = 0;
			}
break;
case 667:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_blob;
			lex.g_field->fld_length = sizeof(ISC_QUAD);
			lex.g_field->fld_seg_length = (USHORT)(IPTR) yyvsp[-3];
			lex.g_field->fld_sub_type = (USHORT)(IPTR) yyvsp[-1];
			}
break;
case 668:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_blob;
			lex.g_field->fld_length = sizeof(ISC_QUAD);
			lex.g_field->fld_seg_length = 80;
			lex.g_field->fld_sub_type = (USHORT)(IPTR) yyvsp[-1];
			}
break;
case 669:
  if (!yytrial)
{
			lex.g_field->fld_seg_length = (USHORT)(IPTR) yyvsp[0];
		  	}
break;
case 670:
  if (!yytrial)
{
			lex.g_field->fld_seg_length = (USHORT) 80;
		  	}
break;
case 671:
  if (!yytrial)
{
			lex.g_field->fld_sub_type = (USHORT)(IPTR) yyvsp[0];
			}
break;
case 672:
  if (!yytrial)
{
			lex.g_field->fld_sub_type_name = yyvsp[0];
			}
break;
case 673:
  if (!yytrial)
{
			lex.g_field->fld_sub_type = (USHORT) 0;
			}
break;
case 674:
  if (!yytrial)
{
			lex.g_field->fld_character_set = yyvsp[0];
			}
break;
case 676:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_text;
			lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1];
			lex.g_field->fld_flags |= FLD_national;
			}
break;
case 677:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_text;
			lex.g_field->fld_character_length = 1;
			lex.g_field->fld_flags |= FLD_national;
			}
break;
case 678:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_varying;
			lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1];
			lex.g_field->fld_flags |= FLD_national;
			}
break;
case 679:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_text;
			lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1];
			}
break;
case 680:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_text;
			lex.g_field->fld_character_length = 1;
			}
break;
case 681:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_varying;
			lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1];
			}
break;
case 690:
  if (!yytrial)
{
			  lex.g_field->fld_sub_type = dsc_num_type_numeric;
			}
break;
case 691:
  if (!yytrial)
{
			   lex.g_field->fld_sub_type = dsc_num_type_decimal;
			   if (lex.g_field->fld_dtype == dtype_short)
				{
				lex.g_field->fld_dtype = dtype_long;
				lex.g_field->fld_length = sizeof (SLONG);
				}
			}
break;
case 692:
  if (!yytrial)
{
				lex.g_field->fld_dtype = dtype_long;
				lex.g_field->fld_length = sizeof (SLONG);
				lex.g_field->fld_precision = 9;
			}
break;
case 693:
  if (!yytrial)
{
			if ( ((IPTR) yyvsp[-1] < 1) || ((IPTR) yyvsp[-1] > 18) )
				yyabandon (-842, isc_precision_err);
				/* Precision most be between 1 and 18. */
			if ((IPTR) yyvsp[-1] > 9)
			{
				if ( ( (client_dialect <= SQL_DIALECT_V5) &&
				   (db_dialect > SQL_DIALECT_V5) ) ||
				 ( (client_dialect > SQL_DIALECT_V5) &&
				   (db_dialect <= SQL_DIALECT_V5) ) )
					ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-817) <<
							  Arg::Gds(isc_ddl_not_allowed_by_db_sql_dial) << Arg::Num(db_dialect));
				if (client_dialect <= SQL_DIALECT_V5)
				{
					lex.g_field->fld_dtype = dtype_double;
					lex.g_field->fld_length = sizeof (double);
				}
				else
				{
					if (client_dialect == SQL_DIALECT_V6_TRANSITION)
					{
						ERRD_post_warning(Arg::Warning(isc_dsql_warn_precision_ambiguous));
						ERRD_post_warning(Arg::Warning(isc_dsql_warn_precision_ambiguous1));
						ERRD_post_warning(Arg::Warning(isc_dsql_warn_precision_ambiguous2));
					}
					lex.g_field->fld_dtype = dtype_int64;
					lex.g_field->fld_length = sizeof (SINT64);
				}
			}
			else
			{
				if ((IPTR) yyvsp[-1] < 5)
				{
					lex.g_field->fld_dtype = dtype_short;
					lex.g_field->fld_length = sizeof (SSHORT);
				}
				else
				{
					lex.g_field->fld_dtype = dtype_long;
					lex.g_field->fld_length = sizeof (SLONG);
				}
			}
			lex.g_field->fld_precision = (USHORT)(IPTR) yyvsp[-1];
			}
break;
case 694:
  if (!yytrial)
{
			if ( ((IPTR) yyvsp[-3] < 1) || ((IPTR) yyvsp[-3] > 18) )
				yyabandon (-842, isc_precision_err);
				/* Precision should be between 1 and 18 */
			if (((IPTR) yyvsp[-1] > (IPTR) yyvsp[-3]) || ((IPTR) yyvsp[-1] < 0))
				yyabandon (-842, isc_scale_nogt);
				/* Scale must be between 0 and precision */
			if ((IPTR) yyvsp[-3] > 9)
			{
				if ( ( (client_dialect <= SQL_DIALECT_V5) &&
				   (db_dialect > SQL_DIALECT_V5) ) ||
				 ( (client_dialect > SQL_DIALECT_V5) &&
				   (db_dialect <= SQL_DIALECT_V5) ) )
				{
					ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-817) <<
							  Arg::Gds(isc_ddl_not_allowed_by_db_sql_dial) << Arg::Num(db_dialect));
				}
				if (client_dialect <= SQL_DIALECT_V5)
				{
					lex.g_field->fld_dtype = dtype_double;
					lex.g_field->fld_length = sizeof (double);
				}
				else
				{
					if (client_dialect == SQL_DIALECT_V6_TRANSITION)
					{
						ERRD_post_warning(Arg::Warning(isc_dsql_warn_precision_ambiguous));
						ERRD_post_warning(Arg::Warning(isc_dsql_warn_precision_ambiguous1));
						ERRD_post_warning(Arg::Warning(isc_dsql_warn_precision_ambiguous2));
					}
					/* client_dialect >= SQL_DIALECT_V6 */
					lex.g_field->fld_dtype = dtype_int64;
					lex.g_field->fld_length = sizeof (SINT64);
				}
			}
			else
			{
				if ((IPTR) yyvsp[-3] < 5)
				{
					lex.g_field->fld_dtype = dtype_short;
					lex.g_field->fld_length = sizeof (SSHORT);
				}
				else
				{
					lex.g_field->fld_dtype = dtype_long;
					lex.g_field->fld_length = sizeof (SLONG);
				}
			}
			lex.g_field->fld_precision = (USHORT)(IPTR) yyvsp[-3];
			lex.g_field->fld_scale = - (SSHORT)(IPTR) yyvsp[-1];
			}
break;
case 697:
  if (!yytrial)
{
			if ((IPTR) yyvsp[0] > 7)
				{
				lex.g_field->fld_dtype = dtype_double;
				lex.g_field->fld_length = sizeof (double);
				}
			else
				{
				lex.g_field->fld_dtype = dtype_real;
				lex.g_field->fld_length = sizeof (float);
				}
			}
break;
case 698:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_double;
			lex.g_field->fld_length = sizeof (double);
			}
break;
case 699:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_real;
			lex.g_field->fld_length = sizeof (float);
			}
break;
case 700:
  if (!yytrial)
{
			lex.g_field->fld_dtype = dtype_double;
			lex.g_field->fld_length = sizeof (double);
			}
break;
case 701:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 702:
  if (!yytrial)
{ yyval = 0; }
break;
case 706:
  if (!yytrial)
{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-2],
				MAKE_const_slong ((IPTR) yyvsp[0])); }
break;
case 707:
  if (!yytrial)
{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-2],
				MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64)); }
break;
case 708:
  if (!yytrial)
{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3],
				make_node(nod_negate, 1, MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64))); }
break;
case 712:
  if (!yytrial)
{ yyval = make_node (nod_user_savepoint, 1, yyvsp[0]); }
break;
case 713:
  if (!yytrial)
{ yyval = make_node (nod_release_savepoint, 2, yyvsp[-1], yyvsp[0]); }
break;
case 714:
  if (!yytrial)
{ yyval = make_node (nod_flag, 0, NULL); }
break;
case 715:
  if (!yytrial)
{ yyval = 0; }
break;
case 716:
  if (!yytrial)
{ yyval = make_node (nod_undo_savepoint, 1, yyvsp[0]); }
break;
case 719:
  if (!yytrial)
{ yyval = make_node (nod_commit, e_commit_count, yyvsp[0]); }
break;
case 720:
  if (!yytrial)
{
#ifdef POOL_DUMP
			  Firebird::MemoryPool::printAll();
			  yyerror("Pseudo-error: DUMP complete");
#else
			  yyerror("DUMP not supported");
#endif
			  yyval = NULL; }
break;
case 721:
  if (!yytrial)
{ yyval = make_node (nod_rollback, e_rollback_count, yyvsp[0]); }
break;
case 724:
  if (!yytrial)
{ yyval = make_node (nod_retain, 0, NULL); }
break;
case 725:
  if (!yytrial)
{ yyval = NULL; }
break;
case 727:
  if (!yytrial)
{ yyval = NULL; }
break;
case 728:
  if (!yytrial)
{yyval = make_node (nod_trans, 1, make_list (yyvsp[0])); }
break;
case 730:
  if (!yytrial)
{ yyval = NULL; }
break;
case 732:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); }
break;
case 739:
  if (!yytrial)
{ yyval = make_flag_node (nod_access, NOD_READ_ONLY, (int) 0, NULL); }
break;
case 740:
  if (!yytrial)
{ yyval = make_flag_node (nod_access, NOD_READ_WRITE, (int) 0, NULL); }
break;
case 741:
  if (!yytrial)
{ yyval = make_flag_node (nod_wait, NOD_WAIT, (int) 0, NULL); }
break;
case 742:
  if (!yytrial)
{ yyval = make_flag_node (nod_wait, NOD_NO_WAIT, (int) 0, NULL); }
break;
case 743:
  if (!yytrial)
{ yyval = yyvsp[0];}
break;
case 745:
  if (!yytrial)
{ yyval = yyvsp[0];}
break;
case 746:
  if (!yytrial)
{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); }
break;
case 747:
  if (!yytrial)
{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); }
break;
case 748:
  if (!yytrial)
{ yyval = make_flag_node (nod_isolation, NOD_CONCURRENCY, 0, NULL); }
break;
case 749:
  if (!yytrial)
{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); }
break;
case 750:
  if (!yytrial)
{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); }
break;
case 751:
  if (!yytrial)
{ yyval = make_flag_node (nod_version, NOD_VERSION, 0, NULL); }
break;
case 752:
  if (!yytrial)
{ yyval = make_flag_node (nod_version, NOD_NO_VERSION, 0, NULL); }
break;
case 753:
  if (!yytrial)
{ yyval = 0; }
break;
case 754:
  if (!yytrial)
{ yyval = make_flag_node(nod_tra_misc, NOD_NO_AUTO_UNDO, 0, NULL); }
break;
case 755:
  if (!yytrial)
{ yyval = make_flag_node(nod_tra_misc, NOD_IGNORE_LIMBO, 0, NULL); }
break;
case 756:
  if (!yytrial)
{ yyval = make_flag_node(nod_tra_misc, NOD_RESTART_REQUESTS, 0, NULL); }
break;
case 757:
  if (!yytrial)
{ yyval = make_node(nod_lock_timeout, 1, MAKE_const_slong ((IPTR) yyvsp[0])); }
break;
case 758:
  if (!yytrial)
{ yyval = make_node (nod_reserve, 1, make_list (yyvsp[0])); }
break;
case 759:
  if (!yytrial)
{ yyval = (dsql_nod*) NOD_SHARED; }
break;
case 760:
  if (!yytrial)
{ yyval = (dsql_nod*) NOD_PROTECTED; }
break;
case 761:
  if (!yytrial)
{ yyval = (dsql_nod*) 0; }
break;
case 762:
  if (!yytrial)
{ yyval = (dsql_nod*) NOD_READ; }
break;
case 763:
  if (!yytrial)
{ yyval = (dsql_nod*) NOD_WRITE; }
break;
case 765:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 766:
  if (!yytrial)
{ yyval = make_node (nod_table_lock, (int) 2, make_list (yyvsp[-1]), yyvsp[0]); }
break;
case 767:
  if (!yytrial)
{ yyval = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT)(IPTR) yyvsp[-1] | (SSHORT)(IPTR) yyvsp[0]), (SSHORT) 0, NULL); }
break;
case 768:
  if (!yytrial)
{ yyval = 0; }
break;
case 770:
  if (!yytrial)
{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); }
break;
case 771:
  if (!yytrial)
{ yyval = make_node (nod_set_statistics, (int) e_stat_count, yyvsp[0]); }
break;
case 772:
  if (!yytrial)
{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-2], NULL, NULL, yyvsp[0]); }
break;
case 773:
  if (!yytrial)
{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-3], yyvsp[-2], NULL, yyvsp[0]); }
break;
case 774:
  if (!yytrial)
{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[0]); }
break;
case 775:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_database); }
break;
case 776:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_domain); }
break;
case 777:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_relation); }
break;
case 778:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_view); }
break;
case 779:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_procedure); }
break;
case 780:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_trigger); }
break;
case 781:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_udf); }
break;
case 782:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_blob_filter); }
break;
case 783:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_exception); }
break;
case 784:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_generator); }
break;
case 785:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_generator); }
break;
case 786:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_index); }
break;
case 787:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_role); }
break;
case 788:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_charset); }
break;
case 789:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_collation); }
break;
case 790:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_relation); }
break;
case 791:
  if (!yytrial)
{ yyval = MAKE_const_slong(ddl_procedure); }
break;
case 792:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 794:
  if (!yytrial)
{ yyval = NULL; }
break;
case 795:
  if (!yytrial)
{ yyval = make_node (nod_select, (int) e_select_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 796:
  if (!yytrial)
{ yyval = make_node (nod_for_update, (int) e_fpd_count, yyvsp[0]); }
break;
case 797:
  if (!yytrial)
{ yyval = NULL; }
break;
case 798:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 799:
  if (!yytrial)
{ yyval = make_node (nod_flag, 0, NULL); }
break;
case 800:
  if (!yytrial)
{ yyval = make_node (nod_flag, 0, NULL); }
break;
case 801:
  if (!yytrial)
{ yyval = NULL; }
break;
case 802:
  if (!yytrial)
{ yyval = make_node (nod_select_expr, (int) e_sel_count, yyvsp[-2], yyvsp[-1], yyvsp[0], yyvsp[-3]); }
break;
case 803:
  if (!yytrial)
{ yyval = make_flag_node (nod_with, NOD_UNION_RECURSIVE, 1, make_list(yyvsp[0])); }
break;
case 804:
  if (!yytrial)
{ yyval = make_node (nod_with, 1, make_list(yyvsp[0])); }
break;
case 805:
  if (!yytrial)
{ yyval = NULL; }
break;
case 807:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 808:
  if (!yytrial)
{ yyval = make_node (nod_derived_table, (int) e_derived_table_count, yyvsp[-1], yyvsp[-5], yyvsp[-4], NULL); }
break;
case 809:
  if (!yytrial)
{ yyval = make_flag_node (nod_select_expr, NOD_SELECT_EXPR_VALUE,
					(int) e_sel_count, yyvsp[-2], yyvsp[-1], yyvsp[0], yyvsp[-3]); }
break;
case 810:
  if (!yytrial)
{ yyval = make_flag_node (nod_select_expr, NOD_SELECT_EXPR_VALUE | NOD_SELECT_EXPR_SINGLETON,
					(int) e_sel_count, yyvsp[-2], yyvsp[-1], yyvsp[0], yyvsp[-3]); }
break;
case 812:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-3], yyvsp[0]); }
break;
case 813:
  if (!yytrial)
{ yyval = make_flag_node (nod_list, NOD_UNION_ALL, 2, yyvsp[-3], yyvsp[0]); }
break;
case 815:
  if (!yytrial)
{ yyval = make_node (nod_query_spec, (int) e_qry_count,
					yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 816:
  if (!yytrial)
{ yyval = make_node (nod_limit, (int) e_limit_count, yyvsp[0], yyvsp[-1]); }
break;
case 817:
  if (!yytrial)
{ yyval = make_node (nod_limit, (int) e_limit_count, NULL, yyvsp[0]); }
break;
case 818:
  if (!yytrial)
{ yyval = make_node (nod_limit, (int) e_limit_count, yyvsp[0], NULL); }
break;
case 819:
  if (!yytrial)
{ yyval = 0; }
break;
case 820:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[0]); }
break;
case 821:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 822:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 823:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[0]); }
break;
case 824:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 825:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 826:
  if (!yytrial)
{ yyval = make_node (nod_flag, 0, NULL); }
break;
case 827:
  if (!yytrial)
{ yyval = 0; }
break;
case 828:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 829:
  if (!yytrial)
{ yyval = 0; }
break;
case 831:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 833:
  if (!yytrial)
{ yyval = make_node (nod_alias, 2, yyvsp[-2], yyvsp[0]); }
break;
case 836:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 838:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 843:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 844:
  if (!yytrial)
{ yyval = make_node(nod_derived_table, (int) e_derived_table_count, yyvsp[-4], yyvsp[-1], yyvsp[0], NULL); }
break;
case 846:
  if (!yytrial)
{ yyval = NULL; }
break;
case 847:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 848:
  if (!yytrial)
{ yyval = NULL; }
break;
case 850:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 854:
  if (!yytrial)
{ yyval = make_node (nod_join, (int) e_join_count, yyvsp[-3],
				make_node (nod_join_inner, (int) 0, NULL), yyvsp[0], NULL); }
break;
case 855:
  if (!yytrial)
{ yyval = make_node (nod_join, (int) e_join_count, yyvsp[-4], yyvsp[-2], yyvsp[0],
					make_node (nod_flag, 0, NULL)); }
break;
case 856:
  if (!yytrial)
{ yyval = make_node (nod_join, (int) e_join_count, yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0]); }
break;
case 859:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 860:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 861:
  if (!yytrial)
{ yyval = make_node (nod_rel_proc_name,
					(int) e_rpn_count, yyvsp[-3], yyvsp[0], yyvsp[-2]); }
break;
case 862:
  if (!yytrial)
{ yyval = make_node (nod_rel_proc_name,
					(int) e_rpn_count, yyvsp[-1], NULL, yyvsp[0]); }
break;
case 863:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 864:
  if (!yytrial)
{ yyval = NULL; }
break;
case 866:
  if (!yytrial)
{ yyval = make_node (nod_relation_name,
						(int) e_rln_count, yyvsp[-2], yyvsp[0]); }
break;
case 867:
  if (!yytrial)
{ yyval = make_node (nod_relation_name,
						(int) e_rln_count, yyvsp[0], NULL); }
break;
case 868:
  if (!yytrial)
{ yyval = make_node (nod_join_inner, (int) 0, NULL); }
break;
case 869:
  if (!yytrial)
{ yyval = make_node (nod_join_left, (int) 0, NULL); }
break;
case 870:
  if (!yytrial)
{ yyval = make_node (nod_join_right, (int) 0, NULL); }
break;
case 871:
  if (!yytrial)
{ yyval = make_node (nod_join_full, (int) 0, NULL); }
break;
case 872:
  if (!yytrial)
{ yyval = make_node (nod_join_inner, (int) 0, NULL); }
break;
case 875:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 876:
  if (!yytrial)
{ yyval = NULL; }
break;
case 878:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 880:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 881:
  if (!yytrial)
{ yyval = NULL; }
break;
case 882:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 883:
  if (!yytrial)
{ yyval = NULL; }
break;
case 884:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 885:
  if (!yytrial)
{ yyval = NULL; }
break;
case 886:
  if (!yytrial)
{ yyval = make_node (nod_plan_expr, 2, yyvsp[-3], make_list (yyvsp[-1])); }
break;
case 887:
  if (!yytrial)
{ yyval = 0; }
break;
case 888:
  if (!yytrial)
{ yyval = make_node (nod_merge_plan, (int) 0, NULL); }
break;
case 889:
  if (!yytrial)
{ yyval = make_node (nod_merge_plan, (int) 0, NULL); }
break;
case 890:
  if (!yytrial)
{ yyval = 0; }
break;
case 891:
  if (!yytrial)
{ yyval = 0; }
break;
case 893:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 894:
  if (!yytrial)
{ yyval = make_node (nod_plan_item, 2, make_list (yyvsp[-1]), yyvsp[0]); }
break;
case 897:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); }
break;
case 898:
  if (!yytrial)
{ yyval = make_node (nod_natural, (int) 0, NULL); }
break;
case 899:
  if (!yytrial)
{ yyval = make_node (nod_index, 1, make_list (yyvsp[-1])); }
break;
case 900:
  if (!yytrial)
{ yyval = make_node (nod_index_order, 2, yyvsp[-1], yyvsp[0]); }
break;
case 902:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 903:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 904:
  if (!yytrial)
{ yyval = 0; }
break;
case 905:
  if (!yytrial)
{ yyval = make_list (yyvsp[0]); }
break;
case 906:
  if (!yytrial)
{ yyval = 0; }
break;
case 908:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 909:
  if (!yytrial)
{ yyval = make_node (nod_order, (int) e_order_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 910:
  if (!yytrial)
{ yyval = 0; }
break;
case 911:
  if (!yytrial)
{ yyval = make_node (nod_flag, 0, NULL); }
break;
case 912:
  if (!yytrial)
{ yyval = 0; }
break;
case 913:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 914:
  if (!yytrial)
{ yyval = 0; }
break;
case 915:
  if (!yytrial)
{ yyval = MAKE_const_slong(NOD_NULLS_FIRST); }
break;
case 916:
  if (!yytrial)
{ yyval = MAKE_const_slong(NOD_NULLS_LAST); }
break;
case 917:
  if (!yytrial)
{ yyval = make_node (nod_rows, (int) e_rows_count, NULL, yyvsp[0]); }
break;
case 918:
  if (!yytrial)
{ yyval = make_node (nod_rows, (int) e_rows_count,
				make_node (nod_subtract, 2, yyvsp[-2],
					MAKE_const_slong (1)),
				make_node (nod_add, 2,
					make_node (nod_subtract, 2, yyvsp[0], yyvsp[-2]),
					MAKE_const_slong (1))); }
break;
case 919:
  if (!yytrial)
{ yyval = NULL; }
break;
case 920:
  if (!yytrial)
{ yyval = make_node (nod_insert, (int) e_ins_count,
				yyvsp[-6], yyvsp[-5], make_list (yyvsp[-2]), NULL, yyvsp[0]); }
break;
case 921:
  if (!yytrial)
{ yyval = make_node (nod_insert, (int) e_ins_count,
				yyvsp[-3], yyvsp[-2], NULL, yyvsp[-1], yyvsp[0]); }
break;
case 922:
  if (!yytrial)
{ yyval = make_node (nod_insert, (int) e_ins_count,
				yyvsp[-3], NULL, NULL, NULL, yyvsp[0]); }
break;
case 923:
  if (!yytrial)
{
			yyval = make_node(nod_merge, e_mrg_count, yyvsp[-5], yyvsp[-3], yyvsp[-1], yyvsp[0]);
		}
break;
case 924:
  if (!yytrial)
{ yyval = make_node(nod_merge_when, e_mrg_when_count, yyvsp[-1], yyvsp[0]); }
break;
case 925:
  if (!yytrial)
{ yyval = make_node(nod_merge_when, e_mrg_when_count, yyvsp[0], yyvsp[-1]); }
break;
case 926:
  if (!yytrial)
{ yyval = make_node(nod_merge_when, e_mrg_when_count, yyvsp[0], NULL); }
break;
case 927:
  if (!yytrial)
{ yyval = make_node(nod_merge_when, e_mrg_when_count, NULL, yyvsp[0]); }
break;
case 928:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 929:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 930:
  if (!yytrial)
{ yyval = make_node(nod_merge_update, e_mrg_update_count, make_list(yyvsp[0])); }
break;
case 931:
  if (!yytrial)
{ yyval = make_node(nod_merge_insert, e_mrg_insert_count, make_list(yyvsp[-4]), make_list(yyvsp[-1])); }
break;
case 934:
  if (!yytrial)
{ yyval = make_node (nod_delete, (int) e_del_count,
				yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], NULL, yyvsp[0]); }
break;
case 935:
  if (!yytrial)
{ yyval = make_node (nod_delete, (int) e_del_count,
				yyvsp[-1], NULL, NULL, NULL, NULL, yyvsp[0], NULL); }
break;
case 938:
  if (!yytrial)
{ yyval = make_node (nod_update, (int) e_upd_count,
				yyvsp[-7], make_list (yyvsp[-5]), yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], NULL, yyvsp[0], NULL); }
break;
case 939:
  if (!yytrial)
{ yyval = make_node (nod_update, (int) e_upd_count,
				yyvsp[-3], make_list (yyvsp[-1]), NULL, NULL, NULL, NULL, yyvsp[0], NULL, NULL); }
break;
case 940:
  if (!yytrial)
{
			yyval = make_node (nod_update_or_insert, (int) e_upi_count,
				yyvsp[-7], make_list (yyvsp[-6]), make_list (yyvsp[-3]), yyvsp[-1], yyvsp[0]);
		}
break;
case 941:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 942:
  if (!yytrial)
{ yyval = NULL; }
break;
case 943:
  if (!yytrial)
{ yyval = make_node (nod_returning, (int) e_ret_count,
					make_list (yyvsp[0]), NULL); }
break;
case 944:
  if (!yytrial)
{ yyval = make_node (nod_returning, (int) e_ret_count,
					make_list (yyvsp[-2]), make_list (yyvsp[0])); }
break;
case 945:
  if (!yytrial)
{ yyval = NULL; }
break;
case 946:
  if (!yytrial)
{ yyval = make_node (nod_cursor, (int) e_cur_count, yyvsp[0], NULL, NULL, NULL); }
break;
case 948:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 949:
  if (!yytrial)
{ yyval = make_node (nod_assign, e_asgn_count, yyvsp[0], yyvsp[-2]); }
break;
case 950:
  if (!yytrial)
{ yyval = make_node (nod_assign, e_asgn_count, yyvsp[0], make_node (nod_null, 0, NULL)); }
break;
case 951:
  if (!yytrial)
{ yyval = make_node (nod_assign, e_asgn_count, yyvsp[0], make_node (nod_null, 0, NULL)); }
break;
case 952:
  if (!yytrial)
{ yyval = make_node (nod_get_segment, (int) e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 953:
  if (!yytrial)
{ yyval = make_node (nod_put_segment, (int) e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 954:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 955:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, NULL, yyvsp[0]); }
break;
case 956:
  if (!yytrial)
{ yyval = NULL; }
break;
case 959:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[0]); }
break;
case 960:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 961:
  if (!yytrial)
{ yyval = NULL; }
break;
case 962:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[0]); }
break;
case 965:
  if (!yytrial)
{ yyval = NULL; }
break;
case 966:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 968:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 970:
  if (!yytrial)
{ yyval = NULL; }
break;
case 971:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 973:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 975:
  if (!yytrial)
{ yyval = make_node (nod_field_name, (int) e_fln_count,
							yyvsp[-2], yyvsp[0]); }
break;
case 976:
  if (!yytrial)
{ yyval = make_node (nod_field_name, (int) e_fln_count,
							yyvsp[-2], NULL); }
break;
case 977:
  if (!yytrial)
{ yyval = make_node (nod_field_name, (int) e_fln_count,
						NULL, yyvsp[0]); }
break;
case 979:
  if (!yytrial)
{ yyval = make_node (nod_field_name, (int) e_fln_count,
							yyvsp[-2], yyvsp[0]); }
break;
case 981:
  if (!yytrial)
{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); }
break;
case 982:
  if (!yytrial)
{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); }
break;
case 983:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, yyvsp[0]); }
break;
case 997:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 998:
  if (!yytrial)
{ yyval = make_node (nod_eql, 2, yyvsp[-2], yyvsp[0]); }
break;
case 999:
  if (!yytrial)
{ yyval = make_node (nod_lss, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1000:
  if (!yytrial)
{ yyval = make_node (nod_gtr, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1001:
  if (!yytrial)
{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1002:
  if (!yytrial)
{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1003:
  if (!yytrial)
{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1004:
  if (!yytrial)
{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1005:
  if (!yytrial)
{ yyval = make_node (nod_neq, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1006:
  if (!yytrial)
{ yyval = make_node (nod_eql_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1007:
  if (!yytrial)
{ yyval = make_node (nod_lss_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1008:
  if (!yytrial)
{ yyval = make_node (nod_gtr_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1009:
  if (!yytrial)
{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1010:
  if (!yytrial)
{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1011:
  if (!yytrial)
{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1012:
  if (!yytrial)
{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1013:
  if (!yytrial)
{ yyval = make_node (nod_neq_all, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1014:
  if (!yytrial)
{ yyval = make_node (nod_eql_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1015:
  if (!yytrial)
{ yyval = make_node (nod_lss_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1016:
  if (!yytrial)
{ yyval = make_node (nod_gtr_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1017:
  if (!yytrial)
{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1018:
  if (!yytrial)
{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1019:
  if (!yytrial)
{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1020:
  if (!yytrial)
{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1021:
  if (!yytrial)
{ yyval = make_node (nod_neq_any, 2, yyvsp[-5], yyvsp[-1]); }
break;
case 1024:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_equiv, 2, yyvsp[-4], yyvsp[0])); }
break;
case 1025:
  if (!yytrial)
{ yyval = make_node (nod_equiv, 2, yyvsp[-5], yyvsp[0]); }
break;
case 1026:
  if (!yytrial)
{ yyval = make_node (nod_between, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); }
break;
case 1027:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_between,
						3, yyvsp[-5], yyvsp[-2], yyvsp[0])); }
break;
case 1028:
  if (!yytrial)
{ yyval = make_node (nod_like, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1029:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_like, 2, yyvsp[-3], yyvsp[0])); }
break;
case 1030:
  if (!yytrial)
{ yyval = make_node (nod_like, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); }
break;
case 1031:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_like,
						3, yyvsp[-5], yyvsp[-2], yyvsp[0])); }
break;
case 1032:
  if (!yytrial)
{ yyval = make_node (nod_eql_any, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1033:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_eql_any, 2, yyvsp[-3], yyvsp[0])); }
break;
case 1034:
  if (!yytrial)
{ yyval = make_node (nod_containing, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1035:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_containing, 2, yyvsp[-3], yyvsp[0])); }
break;
case 1036:
  if (!yytrial)
{ yyval = make_node(nod_similar, e_similar_count, yyvsp[-3], yyvsp[0], NULL); }
break;
case 1037:
  if (!yytrial)
{ yyval = make_node(nod_not, 1, make_node(nod_similar, e_similar_count, yyvsp[-4], yyvsp[0], NULL)); }
break;
case 1038:
  if (!yytrial)
{ yyval = make_node(nod_similar, e_similar_count, yyvsp[-5], yyvsp[-2], yyvsp[0]); }
break;
case 1039:
  if (!yytrial)
{ yyval = make_node(nod_not, 1, make_node(nod_similar, e_similar_count, yyvsp[-6], yyvsp[-2], yyvsp[0])); }
break;
case 1040:
  if (!yytrial)
{ yyval = make_node (nod_starting, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1041:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-3], yyvsp[0])); }
break;
case 1042:
  if (!yytrial)
{ yyval = make_node (nod_starting, 2, yyvsp[-3], yyvsp[0]); }
break;
case 1043:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-4], yyvsp[0])); }
break;
case 1044:
  if (!yytrial)
{ yyval = make_node (nod_exists, 1, yyvsp[-1]); }
break;
case 1045:
  if (!yytrial)
{ yyval = make_node (nod_singular, 1, yyvsp[-1]); }
break;
case 1046:
  if (!yytrial)
{ yyval = make_node (nod_missing, 1, yyvsp[-2]); }
break;
case 1047:
  if (!yytrial)
{ yyval = make_node (nod_not, 1, make_node (nod_missing, 1, yyvsp[-3])); }
break;
case 1048:
  if (!yytrial)
{ yyval = make_node (nod_eql, 2,
					make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_trigger_action)),
						MAKE_const_slong (1)); }
break;
case 1049:
  if (!yytrial)
{ yyval = make_node (nod_eql, 2,
					make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_trigger_action)),
						MAKE_const_slong (2)); }
break;
case 1050:
  if (!yytrial)
{ yyval = make_node (nod_eql, 2,
					make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_trigger_action)),
						MAKE_const_slong (3)); }
break;
case 1052:
  if (!yytrial)
{ yyval = make_list (yyvsp[-1]); }
break;
case 1053:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 1054:
  if (!yytrial)
{ yyval = make_node(nod_add_user, (int) e_user_count, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 1055:
  if (!yytrial)
{ yyval = make_node(nod_mod_user, (int) e_user_count, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 1056:
  if (!yytrial)
{ yyval = make_node(nod_mod_user, (int) e_user_count, yyvsp[-6], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); }
break;
case 1057:
  if (!yytrial)
{ yyval = make_node(nod_del_user, (int) e_del_user_count, yyvsp[0]); }
break;
case 1058:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1059:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1060:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1061:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1062:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1063:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1064:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1065:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1066:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1067:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1068:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1069:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1070:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1071:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1072:
  if (!yytrial)
{ yyval = (dsql_nod*) MAKE_cstring("0"); }
break;
case 1073:
  if (!yytrial)
{ yyval = (dsql_nod*) MAKE_cstring("1"); }
break;
case 1084:
  if (!yytrial)
{ yyval = make_node (nod_negate, 1, yyvsp[0]); }
break;
case 1085:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1086:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_node (nod_add2, 2, yyvsp[-2], yyvsp[0]);
			  else
				  yyval = make_node (nod_add, 2, yyvsp[-2], yyvsp[0]);
			}
break;
case 1087:
  if (!yytrial)
{ yyval = make_node (nod_concatenate, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1088:
  if (!yytrial)
{ yyval = make_node (nod_collate, (int) e_coll_count, (dsql_nod*) yyvsp[0], yyvsp[-2]); }
break;
case 1089:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_node (nod_subtract2, 2, yyvsp[-2], yyvsp[0]);
			  else
				  yyval = make_node (nod_subtract, 2, yyvsp[-2], yyvsp[0]);
			}
break;
case 1090:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				   yyval = make_node (nod_multiply2, 2, yyvsp[-2], yyvsp[0]);
			  else
				   yyval = make_node (nod_multiply, 2, yyvsp[-2], yyvsp[0]);
			}
break;
case 1091:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_node (nod_divide2, 2, yyvsp[-2], yyvsp[0]);
			  else
				  yyval = make_node (nod_divide, 2, yyvsp[-2], yyvsp[0]);
			}
break;
case 1092:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 1093:
  if (!yytrial)
{ yyval = yyvsp[-1]; }
break;
case 1097:
  if (!yytrial)
{ yyval = make_node (nod_dbkey, 1, NULL); }
break;
case 1098:
  if (!yytrial)
{ yyval = make_node (nod_dbkey, 1, yyvsp[-2]); }
break;
case 1099:
  if (!yytrial)
{
			  yyval = make_node (nod_dom_value, 0, NULL);
						}
break;
case 1102:
  if (!yytrial)
{
			if (client_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_dialect_datatype_unsupport) << Arg::Num(client_dialect) <<
						  												  Arg::Str("DATE"));
			}
			if (db_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_db_dialect_dtype_unsupport) << Arg::Num(db_dialect) <<
						  												  Arg::Str("DATE"));
			}
			yyval = make_node (nod_current_date, 0, NULL);
			}
break;
case 1103:
  if (!yytrial)
{
			if (client_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_dialect_datatype_unsupport) << Arg::Num(client_dialect) <<
						  												  Arg::Str("TIME"));
			}
			if (db_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_db_dialect_dtype_unsupport) << Arg::Num(db_dialect) <<
						  												  Arg::Str("TIME"));
			}
			yyval = make_node (nod_current_time, 1, yyvsp[0]);
			}
break;
case 1104:
  if (!yytrial)
{ yyval = make_node (nod_current_timestamp, 1, yyvsp[0]); }
break;
case 1105:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[-1]); }
break;
case 1106:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1107:
  if (!yytrial)
{ yyval = make_node (nod_array, (int) e_ary_count, yyvsp[-3], make_list (yyvsp[-1])); }
break;
case 1109:
  if (!yytrial)
{ yyval = NULL; }
break;
case 1111:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1113:
  if (!yytrial)
{ yyval = make_node (nod_negate, 1, yyvsp[0]); }
break;
case 1114:
  if (!yytrial)
{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_STRING); }
break;
case 1115:
  if (!yytrial)
{ yyval = MAKE_const_slong ((IPTR) yyvsp[0]); }
break;
case 1116:
  if (!yytrial)
{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_DOUBLE); }
break;
case 1117:
  if (!yytrial)
{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SINT64); }
break;
case 1118:
  if (!yytrial)
{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SINT64); }
break;
case 1120:
  if (!yytrial)
{ yyval = MAKE_str_constant ((dsql_str*) yyvsp[0], lex.att_charset); }
break;
case 1121:
  if (!yytrial)
{
			if (client_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_dialect_datatype_unsupport) << Arg::Num(client_dialect) <<
						  												  Arg::Str("DATE"));
			}
			if (db_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_db_dialect_dtype_unsupport) << Arg::Num(db_dialect) <<
						  												  Arg::Str("DATE"));
			}
			yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_DATE);
			}
break;
case 1122:
  if (!yytrial)
{
			if (client_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_dialect_datatype_unsupport) << Arg::Num(client_dialect) <<
						  												  Arg::Str("TIME"));
			}
			if (db_dialect < SQL_DIALECT_V6_TRANSITION)
			{
				ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) <<
						  Arg::Gds(isc_sql_db_dialect_dtype_unsupport) << Arg::Num(db_dialect) <<
						  												  Arg::Str("TIME"));
			}
			yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_TIME);
			}
break;
case 1123:
  if (!yytrial)
{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_TIMESTAMP); }
break;
case 1124:
  if (!yytrial)
{ yyval = make_parameter (); }
break;
case 1125:
  if (!yytrial)
{ yyval = make_node (nod_user_name, 0, NULL); }
break;
case 1126:
  if (!yytrial)
{ yyval = make_node (nod_user_name, 0, NULL); }
break;
case 1127:
  if (!yytrial)
{ yyval = make_node (nod_current_role, 0, NULL); }
break;
case 1128:
  if (!yytrial)
{ yyval = make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_connection_id)); }
break;
case 1129:
  if (!yytrial)
{ yyval = make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_transaction_id)); }
break;
case 1130:
  if (!yytrial)
{ yyval = make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_gdscode)); }
break;
case 1131:
  if (!yytrial)
{ yyval = make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_sqlcode)); }
break;
case 1132:
  if (!yytrial)
{ yyval = make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_sqlstate)); }
break;
case 1133:
  if (!yytrial)
{ yyval = make_node (nod_internal_info, (int) e_internal_info_count,
						MAKE_const_slong (internal_rows_affected)); }
break;
case 1134:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1135:
  if (!yytrial)
{
			dsql_str* str = (dsql_str*) yyvsp[0];
			str->str_charset = (TEXT*) yyvsp[-1];
			if (str->type == dsql_str::TYPE_SIMPLE)
			{
				StrMark* mark = strMarks.get(str);
				fb_assert(mark);
				if (mark)
					mark->introduced = true;
			}
			yyval = yyvsp[0];
		}
break;
case 1137:
  if (!yytrial)
{ yyval = (dsql_nod*) - (IPTR) yyvsp[0]; }
break;
case 1138:
  if (!yytrial)
{ if ((IPTR) yyvsp[0] > SHRT_POS_MAX)
				yyabandon (-842, isc_expec_short);
				/* Short integer expected */
			  yyval = yyvsp[0];}
break;
case 1139:
  if (!yytrial)
{ if ((IPTR) yyvsp[0] > SHRT_NEG_MAX)
				yyabandon (-842, isc_expec_short);
				/* Short integer expected */
			  yyval = yyvsp[0];}
break;
case 1140:
  if (!yytrial)
{ if ((IPTR) yyvsp[0] == 0)
				yyabandon (-842, isc_expec_positive);
				/* Positive number expected */
			  yyval = yyvsp[0];}
break;
case 1141:
  if (!yytrial)
{ if ((IPTR) yyvsp[0] > SHRT_UNSIGNED_MAX)
				yyabandon (-842, isc_expec_ushort);
				/* Unsigned short integer expected */
			  yyval = yyvsp[0];}
break;
case 1143:
  if (!yytrial)
{ yyval = (dsql_nod*) - (IPTR) yyvsp[0]; }
break;
case 1144:
  if (!yytrial)
{ yyval = yyvsp[0];}
break;
case 1150:
  if (!yytrial)
{ yyval = make_node (nod_agg_count, 0, NULL); }
break;
case 1151:
  if (!yytrial)
{ yyval = make_node (nod_agg_count, 1, yyvsp[-1]); }
break;
case 1152:
  if (!yytrial)
{ yyval = make_flag_node (nod_agg_count,
									   NOD_AGG_DISTINCT, 1, yyvsp[-1]); }
break;
case 1153:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_node (nod_agg_total2, 1, yyvsp[-1]);
			  else
				  yyval = make_node (nod_agg_total, 1, yyvsp[-1]);
			}
break;
case 1154:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_flag_node (nod_agg_total2,
						   NOD_AGG_DISTINCT, 1, yyvsp[-1]);
			  else
				  yyval = make_flag_node (nod_agg_total,
						   NOD_AGG_DISTINCT, 1, yyvsp[-1]);
			}
break;
case 1155:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_node (nod_agg_average2, 1, yyvsp[-1]);
			  else
				  yyval = make_node (nod_agg_average, 1, yyvsp[-1]);
			}
break;
case 1156:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_flag_node (nod_agg_average2,
						   NOD_AGG_DISTINCT, 1, yyvsp[-1]);
			  else
				  yyval = make_flag_node (nod_agg_average,
						   NOD_AGG_DISTINCT, 1, yyvsp[-1]);
			}
break;
case 1157:
  if (!yytrial)
{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); }
break;
case 1158:
  if (!yytrial)
{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); }
break;
case 1159:
  if (!yytrial)
{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); }
break;
case 1160:
  if (!yytrial)
{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); }
break;
case 1161:
  if (!yytrial)
{ yyval = make_node (nod_agg_list, 2, yyvsp[-2], yyvsp[-1]); }
break;
case 1162:
  if (!yytrial)
{ yyval = make_flag_node (nod_agg_list, NOD_AGG_DISTINCT, 2, yyvsp[-2], yyvsp[-1]); }
break;
case 1163:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1164:
  if (!yytrial)
{ yyval = MAKE_str_constant (MAKE_cstring(","), lex.att_charset); }
break;
case 1167:
  if (!yytrial)
{ yyval = make_node (nod_extract, (int) e_extract_count, yyvsp[-3], yyvsp[-1]); }
break;
case 1171:
  if (!yytrial)
{ yyval = make_node(nod_strlen, (int) e_strlen_count,
					MAKE_const_slong(blr_strlen_bit), yyvsp[-1]); }
break;
case 1172:
  if (!yytrial)
{ yyval = make_node(nod_strlen, (int) e_strlen_count,
					MAKE_const_slong(blr_strlen_char), yyvsp[-1]); }
break;
case 1173:
  if (!yytrial)
{ yyval = make_node(nod_strlen, (int) e_strlen_count,
					MAKE_const_slong(blr_strlen_char), yyvsp[-1]); }
break;
case 1174:
  if (!yytrial)
{ yyval = make_node(nod_strlen, (int) e_strlen_count,
					MAKE_const_slong(blr_strlen_octet), yyvsp[-1]); }
break;
case 1175:
  if (!yytrial)
{ yyval = make_node(nod_sys_function, e_sysfunc_count, yyvsp[-3], make_list(yyvsp[-1])); }
break;
case 1224:
  if (!yytrial)
{
			yyval = make_flag_node(nod_sys_function, NOD_SPECIAL_SYNTAX, e_sysfunc_count,
				yyvsp[-6], make_node(nod_list, 3, yyvsp[-4], yyvsp[-3], yyvsp[-1]));
		}
break;
case 1225:
  if (!yytrial)
{
			yyval = make_flag_node(nod_sys_function, NOD_SPECIAL_SYNTAX, e_sysfunc_count,
				yyvsp[-7], make_node(nod_list, 3, yyvsp[-3], yyvsp[-5], yyvsp[-1]));
		}
break;
case 1226:
  if (!yytrial)
{
			yyval = make_flag_node(nod_sys_function, NOD_SPECIAL_SYNTAX, e_sysfunc_count,
				yyvsp[-7], make_node(nod_list, 3, yyvsp[-5], yyvsp[-3], yyvsp[-1]));
		}
break;
case 1227:
  if (!yytrial)
{
			yyval = make_flag_node(nod_sys_function, NOD_SPECIAL_SYNTAX, e_sysfunc_count,
				yyvsp[-7], make_node(nod_list, 3, yyvsp[-5], yyvsp[-3], yyvsp[-1]));
		}
break;
case 1228:
  if (!yytrial)
{
			yyval = make_flag_node(nod_sys_function, NOD_SPECIAL_SYNTAX, e_sysfunc_count,
				yyvsp[-9], make_node(nod_list, 4, yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]));
		}
break;
case 1229:
  if (!yytrial)
{
			yyval = make_flag_node(nod_sys_function, NOD_SPECIAL_SYNTAX, e_sysfunc_count,
				yyvsp[-7], make_node(nod_list, 3, yyvsp[-5], yyvsp[-3], yyvsp[-1]));
		}
break;
case 1230:
  if (!yytrial)
{
			yyval = make_flag_node(nod_sys_function, NOD_SPECIAL_SYNTAX, e_sysfunc_count,
				yyvsp[-5], make_node(nod_list, 2, yyvsp[-3], yyvsp[-1]));
		}
break;
case 1233:
  if (!yytrial)
{ yyval = make_node (nod_upcase, 1, yyvsp[-1]); }
break;
case 1234:
  if (!yytrial)
{ yyval = make_node (nod_lowcase, 1, yyvsp[-1]); }
break;
case 1235:
  if (!yytrial)
{ yyval = make_node (nod_substr, (int) e_substr_count, yyvsp[-4],
				make_node (nod_subtract, 2, yyvsp[-2],
					MAKE_const_slong (1)), yyvsp[-1]); }
break;
case 1236:
  if (!yytrial)
{ yyval = yyvsp[0]; }
break;
case 1237:
  if (!yytrial)
{ yyval = MAKE_const_slong (LONG_POS_MAX); }
break;
case 1238:
  if (!yytrial)
{ yyval = make_node (nod_trim, (int) e_trim_count, yyvsp[-4], yyvsp[-3], yyvsp[-1]); }
break;
case 1239:
  if (!yytrial)
{ yyval = make_node (nod_trim, (int) e_trim_count,
				MAKE_const_slong (blr_trim_both), yyvsp[-3], yyvsp[-1]); }
break;
case 1240:
  if (!yytrial)
{ yyval = make_node (nod_trim, (int) e_trim_count, yyvsp[-3], NULL, yyvsp[-1]); }
break;
case 1241:
  if (!yytrial)
{ yyval = make_node (nod_trim, (int) e_trim_count,
				MAKE_const_slong (blr_trim_both), NULL, yyvsp[-1]); }
break;
case 1242:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_trim_both); }
break;
case 1243:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_trim_trailing); }
break;
case 1244:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_trim_leading); }
break;
case 1245:
  if (!yytrial)
{ yyval = make_node (nod_udf, 2, yyvsp[-3], yyvsp[-1]); }
break;
case 1246:
  if (!yytrial)
{ yyval = make_node (nod_udf, 1, yyvsp[-2]); }
break;
case 1247:
  if (!yytrial)
{ yyval = make_node (nod_cast, (int) e_cast_count, yyvsp[-1], yyvsp[-3]); }
break;
case 1250:
  if (!yytrial)
{ yyval = make_node (nod_searched_case, 2,
				make_node (nod_list, 2, make_node (nod_eql, 2, yyvsp[-3], yyvsp[-1]),
				make_node (nod_null, 0, NULL)), yyvsp[-3]); }
break;
case 1251:
  if (!yytrial)
{ yyval = make_node (nod_searched_case, 2,
				make_node (nod_list, 2, yyvsp[-5], yyvsp[-3]), yyvsp[-1]); }
break;
case 1252:
  if (!yytrial)
{ yyval = make_node (nod_coalesce, 2, yyvsp[-3], yyvsp[-1]); }
break;
case 1253:
  if (!yytrial)
{ yyval = make_node(nod_simple_case, 3, yyvsp[-3], make_list(yyvsp[-1]), make_node(nod_null, 0, NULL)); }
break;
case 1254:
  if (!yytrial)
{ yyval = make_node(nod_simple_case, 3, yyvsp[-5], make_list(yyvsp[-3]), yyvsp[-1]); }
break;
case 1257:
  if (!yytrial)
{ yyval = make_node (nod_simple_case, 3, yyvsp[-2], make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); }
break;
case 1258:
  if (!yytrial)
{ yyval = make_node (nod_simple_case, 3, yyvsp[-4], make_list(yyvsp[-3]), yyvsp[-1]); }
break;
case 1259:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1260:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); }
break;
case 1261:
  if (!yytrial)
{ yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); }
break;
case 1262:
  if (!yytrial)
{ yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-3]), yyvsp[-1]); }
break;
case 1263:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1264:
  if (!yytrial)
{ yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); }
break;
case 1268:
  if (!yytrial)
{ yyval = make_node(nod_list, 2, yyvsp[-2], yyvsp[0]); }
break;
case 1269:
  if (!yytrial)
{ yyval = make_node(nod_list, 2, yyvsp[-4], make_node(nod_list, 2, yyvsp[-2], yyvsp[0])); }
break;
case 1270:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_node (nod_gen_id2, 2, yyvsp[0],
						MAKE_const_slong(1));
			  else
				  yyval = make_node (nod_gen_id, 2, yyvsp[0],
						MAKE_const_slong(1));
			}
break;
case 1271:
  if (!yytrial)
{
			  if (client_dialect >= SQL_DIALECT_V6_TRANSITION)
				  yyval = make_node (nod_gen_id2, 2, yyvsp[-3], yyvsp[-1]);
			  else
				  yyval = make_node (nod_gen_id, 2, yyvsp[-3], yyvsp[-1]);
			}
break;
case 1272:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_year); }
break;
case 1273:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_month); }
break;
case 1274:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_day); }
break;
case 1275:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_hour); }
break;
case 1276:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_minute); }
break;
case 1277:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_second); }
break;
case 1278:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_millisecond); }
break;
case 1279:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_week); }
break;
case 1280:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_weekday); }
break;
case 1281:
  if (!yytrial)
{ yyval = MAKE_const_slong (blr_extract_yearday); }
break;
case 1286:
  if (!yytrial)
{ yyval = make_node (nod_null, 0, NULL); }
break;

  default:
    break;
  }

#if YYDEBUG && defined(YYDBPR)
  if (yydebug) {
    printf("yydebug[%d]: after reduction, result is ", yytrial);
    YYDBPR(yyps->val);
    printf("\n");
  }
#endif

  // Perform user-defined position reduction
#ifdef YYREDUCEPOSNFUNC
  if (!yytrial) {
    YYCALLREDUCEPOSN(YYREDUCEPOSNFUNCARG);
  }
#endif

  yyps->ssp -= yym;
  yystate = *(yyps->ssp);
  yyps->vsp -= yym;
  yyps->psp -= yym;

  yym = yylhs[yyn];
  if (yystate == 0 && yym == 0) {
#if YYDEBUG
    if (yydebug) {
      printf("yydebug[%d,%p]: after reduction, shifting from state 0 to state %d\n", 
	     int(yydepth), yytrial, YYFINAL);
    }
#endif
    yystate = YYFINAL;
    *++(yyps->ssp) = YYFINAL;
    *++(yyps->vsp) = yyps->val;
    yyretlval = yyps->val;	// return value of root non-terminal to yylval
    *++(yyps->psp) = yyps->pos;
    yyretposn = yyps->pos;	// return value of root position to yyposn
    if (yychar < 0) {
      if ((yychar = yylex1()) < 0) {
        yychar = 0;
      }
#if YYDEBUG
      if (yydebug) {
        yys = 0;
        if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
        if (!yys) yys = "illegal-symbol";
        printf("yydebug[%d,%p]: state %d, reading %d (%s)\n", 
	       int(yydepth), yytrial, YYFINAL, yychar, yys); 
      }
#endif
    }
    if (yychar == 0) goto yyaccept;
    goto yyloop;
  }

  if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
      yyn <= YYTABLESIZE && yycheck[yyn] == yystate) {
    yystate = yytable[yyn];
  } else {
    yystate = yydgoto[yym];
  }
#if YYDEBUG
  if (yydebug)
    printf("yydebug[%d,%p]: after reduction, shifting from state %d to state %d\n",
           int(yydepth), yytrial, *(yyps->ssp), yystate);
#endif
  if (yyps->ssp >= yyps->ss + yyps->stacksize - 1) {
    yyMoreStack(yyps);
  }
  *++(yyps->ssp) = yystate;
  *++(yyps->vsp) = yyps->val;
  *++(yyps->psp) = yyps->pos;
  goto yyloop;


  //
  // Reduction declares that this path is valid.
  // Set yypath and do a full parse
  //
yyvalid:
  if (yypath) {
    goto yyabort;
  }
  while (yyps->save) {
    yyparsestate *save = yyps->save;
    yyps->save = save->save;
    save->save = yypath;
    yypath = save;
  }
#if YYDEBUG
  if (yydebug)
    printf("yydebug[%d,%p]: CONFLICT trial successful, backtracking to state %d, %d tokens\n",
           int(yydepth), yytrial, yypath->state, int(yylvp - yylvals - yypath->lexeme));
#endif
  if (yyerrctx) {
    yyFreeState(yyerrctx);
    yyerrctx = NULL;
  }
  yychar = -1;
  yyps->ssp = yyps->ss + (yypath->ssp - yypath->ss);
  yyps->vsp = yyps->vs + (yypath->vsp - yypath->vs);
  yyps->psp = yyps->ps + (yypath->psp - yypath->ps);
  memcpy (yyps->ss, yypath->ss, (yyps->ssp - yyps->ss + 1) * sizeof(Yshort));
  yySCopy(yyps->vs, yypath->vs,  yyps->vsp - yyps->vs + 1);
  yyPCopy(yyps->ps, yypath->ps,  yyps->psp - yyps->ps + 1);
  yylvp = yylvals + yypath->lexeme;
  yylpp = yylpsns + yypath->lexeme;
  yylexp = yylexemes + yypath->lexeme;
  yystate = yypath->state;
  goto yyloop;


yyabort:
  if (yyerrctx) {
    yyFreeState(yyerrctx);
    yyerrctx = NULL;
  }

  YYSTYPE *pv;
  for(pv = yyps->vs; pv < yyps->vsp; pv++) {
    YYDELETEVAL(*pv, 2);
  }

  YYPOSN *pp;
  for(pp = yyps->ps; pp < yyps->psp; pp++) {
    YYDELETEPOSN(*pp, 2);
  }

  while (yyps) {
    yyparsestate *save = yyps;
    yyps = save->save;
    yyFreeState(save);
  }
  while (yypath) {
    yyparsestate *save = yypath;
    yypath = save->save;
    yyFreeState(save); 
  }
  return (1);


yyaccept:
  if (yyps->save) goto yyvalid;
  if (yyerrctx) {
    yyFreeState(yyerrctx);
    yyerrctx = NULL;
  }
  while (yyps) {
    yyparsestate *save = yyps;
    yyps = save->save;
    yyFreeState(save);
  }
  while (yypath) {
    yyparsestate *save = yypath;
    yypath = save->save;
    yyFreeState(save); 
  }
  return (0);
}


int Parser::yylex1()
{
  if (yylvp < yylve) {
    yylval = *yylvp++;
    yyposn = *yylpp++;
    return *yylexp++;
  } else {
    if (yyps->save) {
      if (yylvp == yylvlim) {
	yyexpand();
      }
      *yylexp = yylex();
      *yylvp++ = yylval;
      yylve++;
      *yylpp++ = yyposn;
      yylpe++;
      return *yylexp++;
    } else {
      return yylex();
    }
  }
}


int Parser::yyexpand()
{
  int p = yylvp - yylvals;
  int s = yylvlim - yylvals;
  s += YYSTACKGROWTH;
  { Yshort  *tl = yylexemes; 
    YYSTYPE *tv = yylvals;
    YYPOSN  *tp = yylpsns;
    yylvals = new YYSTYPE[s];
    yylpsns = new YYPOSN[s];
    yylexemes = new Yshort[s];
    memcpy(yylexemes, tl, (s - YYSTACKGROWTH) * sizeof(Yshort));
    yySCopy(yylvals, tv, s - YYSTACKGROWTH);
    yyPCopy(yylpsns, tp, s - YYSTACKGROWTH);
    delete[] tl;
    delete[] tv;
    delete[] tp;
  }
  yylvp = yylve = yylvals + p;
  yylvlim = yylvals + s;
  yylpp = yylpe = yylpsns + p;
  yylplim = yylpsns + s;
  yylexp = yylexemes + p;
  return 0;
}

